@charset "UTF-8";
/*@include border-top-serrated(<size>, <color>);*/
/*@include border-bottom-serrated(<size>, <color>);*/
/* @include placeholder {
   font-style:italic;
    color: white;
    font-weight:100;
}*/
/* reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
  display: block;
}

html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body, button, input, select, textarea {
  color: #2b2b2b;
  font-family: Lato, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

body {
  background: #f5f5f5;
}

a {
  color: #ee3823;
  text-decoration: none;
}

a:focus {
  outline: none;
}

a:hover, a:active {
  outline: 0;
}

a:active, a:hover {
  color: #d1cd26;
}

h1, h2, h3, h4, h5, h6 {
  clear: both;
  font-weight: 700;
  margin: 0 0 12px;
  line-height: 1.2;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: inherit;
}

address {
  font-style: normal;
  margin-bottom: 0;
}

abbr[title] {
  border-bottom: 1px dotted #2b2b2b;
  cursor: help;
}

b, strong {
  font-weight: 700;
}

cite, dfn, em, i {
  font-style: italic;
}

mark, ins {
  background: #fff9c0;
  text-decoration: none;
}

p {
  margin-bottom: 7px;
}

blockquote {
  hyphens: none;
  quotes: none;
  color: #767676;
  font-size: 19px;
  font-style: italic;
  font-weight: 300;
  line-height: 1.2;
  margin-bottom: 24px;
}

small {
  font-size: smaller;
}

big {
  font-size: 125%;
}

sup, sub {
  font-size: 75%;
  height: 0;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  bottom: 1ex;
}

sub {
  top: 0.5ex;
}

ul, ol {
  list-style: none;
  margin: 0 0 24px 20px;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul, li > ol {
  margin: 0 0 0 20px;
}

img {
  -ms-interpolation-mode: bicubic;
  border: 0;
  vertical-align: middle;
}

figure {
  margin: 0;
}

button, input, select, textarea {
  box-sizing: border-box;
  font-size: 100%;
  margin: 0;
  max-width: 100%;
  vertical-align: baseline;
}

button, input {
  line-height: normal;
}

button, html input[type=button], input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled], input[disabled] {
  cursor: default;
}

input[type=checkbox], input[type=radio] {
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

table, th, td {
  border: 1px solid rgba(0, 0, 0, 0.1);
}

table {
  border-collapse: separate;
  border-spacing: 0;
  border-width: 1px 0 0 1px;
  margin-bottom: 24px;
  width: 100%;
}

caption, th, td {
  font-weight: normal;
  text-align: left;
}

th {
  border-width: 0 1px 1px 0;
  font-weight: bold;
}

td {
  border-width: 0 1px 1px 0;
}

del {
  color: #767676;
}

hr {
  background-color: rgba(0, 0, 0, 0.1);
  border: 0;
  height: 1px;
  margin-bottom: 23px;
}

::selection {
  background: #24890d;
  color: #fff;
  text-shadow: none;
}

::-moz-selection {
  background: #24890d;
  color: #fff;
  text-shadow: none;
}

a:hover, a:focus {
  outline: none;
}

a:focus {
  text-decoration: none;
}

img {
  max-width: 100%;
}

*, :before, :after {
  box-sizing: border-box;
}

.showPointer {
  cursor: pointer;
}

p {
  margin: 0;
}

p img:last-child {
  margin-bottom: 7px;
}

blockquote {
  margin: 20px;
}

h1, h2, h3, h4, h5, h6 {
  clear: left;
}

.size-full {
  border: 6px solid #fff;
  box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.25);
  margin-bottom: 20px;
}

*, *:hover, *:focus, a:hover, a:focus {
  outline: none !important;
}

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.428571429;
  color: #333333;
  background-color: #fff;
}

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

a {
  color: rgb(51.4340909091, 122.2772727273, 183.4159090909);
  text-decoration: none;
}
a:hover, a:focus {
  color: rgb(34.6799586777, 82.4466942149, 123.6700413223);
  text-decoration: underline;
}
a:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

figure {
  margin: 0;
}

img {
  vertical-align: middle;
}

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}

.img-rounded {
  border-radius: 6px;
}

.img-thumbnail {
  padding: 4px;
  line-height: 1.428571429;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}

.img-circle {
  border-radius: 50%;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid rgb(238.425, 238.425, 238.425);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

[role=button] {
  cursor: pointer;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h1 .small, h2 small,
h2 .small, h3 small,
h3 .small, h4 small,
h4 .small, h5 small,
h5 .small, h6 small,
h6 .small,
.h1 small,
.h1 .small, .h2 small,
.h2 .small, .h3 small,
.h3 .small, .h4 small,
.h4 .small, .h5 small,
.h5 .small, .h6 small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: rgb(119.085, 119.085, 119.085);
}

h1, .h1,
h2, .h2,
h3, .h3 {
  margin-top: 20px;
  margin-bottom: 10px;
}
h1 small,
h1 .small, .h1 small,
.h1 .small,
h2 small,
h2 .small, .h2 small,
.h2 .small,
h3 small,
h3 .small, .h3 small,
.h3 .small {
  font-size: 65%;
}

h4, .h4,
h5, .h5,
h6, .h6 {
  margin-top: 10px;
  margin-bottom: 10px;
}
h4 small,
h4 .small, .h4 small,
.h4 .small,
h5 small,
h5 .small, .h5 small,
.h5 .small,
h6 small,
h6 .small, .h6 small,
.h6 .small {
  font-size: 75%;
}

h1, .h1 {
  font-size: 36px;
}

h2, .h2 {
  font-size: 30px;
}

h3, .h3 {
  font-size: 24px;
}

h4, .h4 {
  font-size: 18px;
}

h5, .h5 {
  font-size: 14px;
}

h6, .h6 {
  font-size: 12px;
}

p {
  margin: 0 0 10px;
}

.lead {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 21px;
  }
}

small,
.small {
  font-size: 85%;
}

mark,
.mark {
  background-color: #fcf8e3;
  padding: 0.2em;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
}

.text-nowrap {
  white-space: nowrap;
}

.text-lowercase {
  text-transform: lowercase;
}

.text-uppercase, .initialism {
  text-transform: uppercase;
}

.text-capitalize {
  text-transform: capitalize;
}

.text-muted {
  color: rgb(119.085, 119.085, 119.085);
}

.text-primary {
  color: rgb(51.4340909091, 122.2772727273, 183.4159090909);
}

a.text-primary:hover,
a.text-primary:focus {
  color: rgb(40.2646694215, 95.723553719, 143.5853305785);
}

.text-success {
  color: #3c763d;
}

a.text-success:hover,
a.text-success:focus {
  color: rgb(42.808988764, 84.191011236, 43.5224719101);
}

.text-info {
  color: #31708f;
}

a.text-info:hover,
a.text-info:focus {
  color: rgb(35.984375, 82.25, 105.015625);
}

.text-warning {
  color: #8a6d3b;
}

a.text-warning:hover,
a.text-warning:focus {
  color: rgb(102.2741116751, 80.7817258883, 43.7258883249);
}

.text-danger {
  color: #a94442;
}

a.text-danger:hover,
a.text-danger:focus {
  color: rgb(132.3234042553, 53.2425531915, 51.6765957447);
}

.bg-primary {
  color: #fff;
}

.bg-primary {
  background-color: rgb(51.4340909091, 122.2772727273, 183.4159090909);
}

a.bg-primary:hover,
a.bg-primary:focus {
  background-color: rgb(40.2646694215, 95.723553719, 143.5853305785);
}

.bg-success {
  background-color: #dff0d8;
}

a.bg-success:hover,
a.bg-success:focus {
  background-color: rgb(192.7777777778, 225.8333333333, 179.1666666667);
}

.bg-info {
  background-color: #d9edf7;
}

a.bg-info:hover,
a.bg-info:focus {
  background-color: rgb(174.8695652174, 217.0434782609, 238.1304347826);
}

.bg-warning {
  background-color: #fcf8e3;
}

a.bg-warning:hover,
a.bg-warning:focus {
  background-color: rgb(247.064516129, 236.4838709677, 180.935483871);
}

.bg-danger {
  background-color: #f2dede;
}

a.bg-danger:hover,
a.bg-danger:focus {
  background-color: rgb(227.5869565217, 185.4130434783, 185.4130434783);
}

.page-header {
  padding-bottom: 9px;
  margin: 40px 0 20px;
  border-bottom: 1px solid rgb(238.425, 238.425, 238.425);
}

ul,
ol {
  margin-top: 0;
  margin-bottom: 10px;
}
ul ul,
ul ol,
ol ul,
ol ol {
  margin-bottom: 0;
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}

dl {
  margin-top: 0;
  margin-bottom: 20px;
}

dt,
dd {
  line-height: 1.428571429;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

@media (min-width: 768px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted rgb(119.085, 119.085, 119.085);
}

.initialism {
  font-size: 90%;
}

blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  font-size: 17.5px;
  border-left: 5px solid rgb(238.425, 238.425, 238.425);
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.428571429;
  color: rgb(119.085, 119.085, 119.085);
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: "— ";
}

.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid rgb(238.425, 238.425, 238.425);
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
.blockquote-reverse small:before,
.blockquote-reverse .small:before,
blockquote.pull-right footer:before,
blockquote.pull-right small:before,
blockquote.pull-right .small:before {
  content: "";
}
.blockquote-reverse footer:after,
.blockquote-reverse small:after,
.blockquote-reverse .small:after,
blockquote.pull-right footer:after,
blockquote.pull-right small:after,
blockquote.pull-right .small:after {
  content: " —";
}

address {
  margin-bottom: 20px;
  font-style: normal;
  line-height: 1.428571429;
}

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.row {
  margin-left: -15px;
  margin-right: -15px;
}

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}

.col-xs-1 {
  width: 8.3333333333%;
}

.col-xs-2 {
  width: 16.6666666667%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-4 {
  width: 33.3333333333%;
}

.col-xs-5 {
  width: 41.6666666667%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-7 {
  width: 58.3333333333%;
}

.col-xs-8 {
  width: 66.6666666667%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-10 {
  width: 83.3333333333%;
}

.col-xs-11 {
  width: 91.6666666667%;
}

.col-xs-12 {
  width: 100%;
}

.col-xs-pull-0 {
  right: auto;
}

.col-xs-pull-1 {
  right: 8.3333333333%;
}

.col-xs-pull-2 {
  right: 16.6666666667%;
}

.col-xs-pull-3 {
  right: 25%;
}

.col-xs-pull-4 {
  right: 33.3333333333%;
}

.col-xs-pull-5 {
  right: 41.6666666667%;
}

.col-xs-pull-6 {
  right: 50%;
}

.col-xs-pull-7 {
  right: 58.3333333333%;
}

.col-xs-pull-8 {
  right: 66.6666666667%;
}

.col-xs-pull-9 {
  right: 75%;
}

.col-xs-pull-10 {
  right: 83.3333333333%;
}

.col-xs-pull-11 {
  right: 91.6666666667%;
}

.col-xs-pull-12 {
  right: 100%;
}

.col-xs-push-0 {
  left: auto;
}

.col-xs-push-1 {
  left: 8.3333333333%;
}

.col-xs-push-2 {
  left: 16.6666666667%;
}

.col-xs-push-3 {
  left: 25%;
}

.col-xs-push-4 {
  left: 33.3333333333%;
}

.col-xs-push-5 {
  left: 41.6666666667%;
}

.col-xs-push-6 {
  left: 50%;
}

.col-xs-push-7 {
  left: 58.3333333333%;
}

.col-xs-push-8 {
  left: 66.6666666667%;
}

.col-xs-push-9 {
  left: 75%;
}

.col-xs-push-10 {
  left: 83.3333333333%;
}

.col-xs-push-11 {
  left: 91.6666666667%;
}

.col-xs-push-12 {
  left: 100%;
}

.col-xs-offset-0 {
  margin-left: 0%;
}

.col-xs-offset-1 {
  margin-left: 8.3333333333%;
}

.col-xs-offset-2 {
  margin-left: 16.6666666667%;
}

.col-xs-offset-3 {
  margin-left: 25%;
}

.col-xs-offset-4 {
  margin-left: 33.3333333333%;
}

.col-xs-offset-5 {
  margin-left: 41.6666666667%;
}

.col-xs-offset-6 {
  margin-left: 50%;
}

.col-xs-offset-7 {
  margin-left: 58.3333333333%;
}

.col-xs-offset-8 {
  margin-left: 66.6666666667%;
}

.col-xs-offset-9 {
  margin-left: 75%;
}

.col-xs-offset-10 {
  margin-left: 83.3333333333%;
}

.col-xs-offset-11 {
  margin-left: 91.6666666667%;
}

.col-xs-offset-12 {
  margin-left: 100%;
}

@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-1 {
    width: 8.3333333333%;
  }
  .col-sm-2 {
    width: 16.6666666667%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-4 {
    width: 33.3333333333%;
  }
  .col-sm-5 {
    width: 41.6666666667%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-7 {
    width: 58.3333333333%;
  }
  .col-sm-8 {
    width: 66.6666666667%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-10 {
    width: 83.3333333333%;
  }
  .col-sm-11 {
    width: 91.6666666667%;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-pull-1 {
    right: 8.3333333333%;
  }
  .col-sm-pull-2 {
    right: 16.6666666667%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-4 {
    right: 33.3333333333%;
  }
  .col-sm-pull-5 {
    right: 41.6666666667%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-7 {
    right: 58.3333333333%;
  }
  .col-sm-pull-8 {
    right: 66.6666666667%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-10 {
    right: 83.3333333333%;
  }
  .col-sm-pull-11 {
    right: 91.6666666667%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-push-1 {
    left: 8.3333333333%;
  }
  .col-sm-push-2 {
    left: 16.6666666667%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-4 {
    left: 33.3333333333%;
  }
  .col-sm-push-5 {
    left: 41.6666666667%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-7 {
    left: 58.3333333333%;
  }
  .col-sm-push-8 {
    left: 66.6666666667%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-10 {
    left: 83.3333333333%;
  }
  .col-sm-push-11 {
    left: 91.6666666667%;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
  .col-sm-offset-1 {
    margin-left: 8.3333333333%;
  }
  .col-sm-offset-2 {
    margin-left: 16.6666666667%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-4 {
    margin-left: 33.3333333333%;
  }
  .col-sm-offset-5 {
    margin-left: 41.6666666667%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-7 {
    margin-left: 58.3333333333%;
  }
  .col-sm-offset-8 {
    margin-left: 66.6666666667%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-10 {
    margin-left: 83.3333333333%;
  }
  .col-sm-offset-11 {
    margin-left: 91.6666666667%;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-1 {
    width: 8.3333333333%;
  }
  .col-md-2 {
    width: 16.6666666667%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-4 {
    width: 33.3333333333%;
  }
  .col-md-5 {
    width: 41.6666666667%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-7 {
    width: 58.3333333333%;
  }
  .col-md-8 {
    width: 66.6666666667%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-10 {
    width: 83.3333333333%;
  }
  .col-md-11 {
    width: 91.6666666667%;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-pull-1 {
    right: 8.3333333333%;
  }
  .col-md-pull-2 {
    right: 16.6666666667%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-4 {
    right: 33.3333333333%;
  }
  .col-md-pull-5 {
    right: 41.6666666667%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-7 {
    right: 58.3333333333%;
  }
  .col-md-pull-8 {
    right: 66.6666666667%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-10 {
    right: 83.3333333333%;
  }
  .col-md-pull-11 {
    right: 91.6666666667%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-push-1 {
    left: 8.3333333333%;
  }
  .col-md-push-2 {
    left: 16.6666666667%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-4 {
    left: 33.3333333333%;
  }
  .col-md-push-5 {
    left: 41.6666666667%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-7 {
    left: 58.3333333333%;
  }
  .col-md-push-8 {
    left: 66.6666666667%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-10 {
    left: 83.3333333333%;
  }
  .col-md-push-11 {
    left: 91.6666666667%;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
  .col-md-offset-1 {
    margin-left: 8.3333333333%;
  }
  .col-md-offset-2 {
    margin-left: 16.6666666667%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-4 {
    margin-left: 33.3333333333%;
  }
  .col-md-offset-5 {
    margin-left: 41.6666666667%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-7 {
    margin-left: 58.3333333333%;
  }
  .col-md-offset-8 {
    margin-left: 66.6666666667%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-10 {
    margin-left: 83.3333333333%;
  }
  .col-md-offset-11 {
    margin-left: 91.6666666667%;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-1 {
    width: 8.3333333333%;
  }
  .col-lg-2 {
    width: 16.6666666667%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-4 {
    width: 33.3333333333%;
  }
  .col-lg-5 {
    width: 41.6666666667%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-7 {
    width: 58.3333333333%;
  }
  .col-lg-8 {
    width: 66.6666666667%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-10 {
    width: 83.3333333333%;
  }
  .col-lg-11 {
    width: 91.6666666667%;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-pull-1 {
    right: 8.3333333333%;
  }
  .col-lg-pull-2 {
    right: 16.6666666667%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-4 {
    right: 33.3333333333%;
  }
  .col-lg-pull-5 {
    right: 41.6666666667%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-7 {
    right: 58.3333333333%;
  }
  .col-lg-pull-8 {
    right: 66.6666666667%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-10 {
    right: 83.3333333333%;
  }
  .col-lg-pull-11 {
    right: 91.6666666667%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-push-1 {
    left: 8.3333333333%;
  }
  .col-lg-push-2 {
    left: 16.6666666667%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-4 {
    left: 33.3333333333%;
  }
  .col-lg-push-5 {
    left: 41.6666666667%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-7 {
    left: 58.3333333333%;
  }
  .col-lg-push-8 {
    left: 66.6666666667%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-10 {
    left: 83.3333333333%;
  }
  .col-lg-push-11 {
    left: 91.6666666667%;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
  .col-lg-offset-1 {
    margin-left: 8.3333333333%;
  }
  .col-lg-offset-2 {
    margin-left: 16.6666666667%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-4 {
    margin-left: 33.3333333333%;
  }
  .col-lg-offset-5 {
    margin-left: 41.6666666667%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-7 {
    margin-left: 58.3333333333%;
  }
  .col-lg-offset-8 {
    margin-left: 66.6666666667%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-10 {
    margin-left: 83.3333333333%;
  }
  .col-lg-offset-11 {
    margin-left: 91.6666666667%;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9 ;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

.dropup,
.dropdown {
  position: relative;
}

.dropdown-toggle:focus {
  outline: 0;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 14px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.428571429;
  color: #333333;
  white-space: nowrap;
}

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
  text-decoration: none;
  color: rgb(38.25, 38.25, 38.25);
  background-color: #f5f5f5;
}

.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: rgb(51.4340909091, 122.2772727273, 183.4159090909);
}

.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
  color: rgb(119.085, 119.085, 119.085);
}
.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}

.open > .dropdown-menu {
  display: block;
}
.open > a {
  outline: 0;
}

.dropdown-menu-right {
  left: auto;
  right: 0;
}

.dropdown-menu-left {
  left: 0;
  right: auto;
}

.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.428571429;
  color: rgb(119.085, 119.085, 119.085);
  white-space: nowrap;
}

.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}

.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9 ;
  content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}

@media (min-width: 768px) {
  .navbar-right .dropdown-menu {
    right: 0;
    left: auto;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*=col-] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group .form-control:focus {
  z-index: 3;
}

.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}

.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}

.input-group-addon {
  padding: 6px 12px;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  color: rgb(85.425, 85.425, 85.425);
  text-align: center;
  background-color: rgb(238.425, 238.425, 238.425);
  border: 1px solid #ccc;
  border-radius: 4px;
}
.input-group-addon.input-sm,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .input-group-addon.btn {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 3px;
}
.input-group-addon.input-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn {
  padding: 10px 16px;
  font-size: 18px;
  border-radius: 6px;
}
.input-group-addon input[type=radio],
.input-group-addon input[type=checkbox] {
  margin-top: 0;
}

.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.input-group-addon:first-child {
  border-right: 0;
}

.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.input-group-addon:last-child {
  border-left: 0;
}

.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 20px;
  font-size: 21px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}

label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}

input[type=search] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

input[type=radio],
input[type=checkbox] {
  margin: 4px 0 0;
  margin-top: 1px \9 ;
  line-height: normal;
}

input[type=file] {
  display: block;
}

input[type=range] {
  display: block;
  width: 100%;
}

select[multiple],
select[size] {
  height: auto;
}

input[type=file]:focus,
input[type=radio]:focus,
input[type=checkbox]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

output {
  display: block;
  padding-top: 7px;
  font-size: 14px;
  line-height: 1.428571429;
  color: rgb(85.425, 85.425, 85.425);
}

.form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.428571429;
  color: rgb(85.425, 85.425, 85.425);
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control::-ms-expand {
  border: 0;
  background-color: transparent;
}
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
  background-color: rgb(238.425, 238.425, 238.425);
  opacity: 1;
}
.form-control[disabled], fieldset[disabled] .form-control {
  cursor: not-allowed;
}

textarea.form-control {
  height: auto;
}

input[type=search] {
  -webkit-appearance: none;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type=date].form-control,
  input[type=time].form-control,
  input[type=datetime-local].form-control,
  input[type=month].form-control {
    line-height: 34px;
  }
  input[type=date].input-sm,
  .input-group-sm > .input-group-btn > input[type=date].btn, .input-group-sm input[type=date],
  input[type=time].input-sm,
  .input-group-sm > .input-group-btn > input[type=time].btn,
  .input-group-sm input[type=time],
  input[type=datetime-local].input-sm,
  .input-group-sm > .input-group-btn > input[type=datetime-local].btn,
  .input-group-sm input[type=datetime-local],
  input[type=month].input-sm,
  .input-group-sm > .input-group-btn > input[type=month].btn,
  .input-group-sm input[type=month] {
    line-height: 30px;
  }
  input[type=date].input-lg,
  .input-group-lg > .input-group-btn > input[type=date].btn, .input-group-lg input[type=date],
  input[type=time].input-lg,
  .input-group-lg > .input-group-btn > input[type=time].btn,
  .input-group-lg input[type=time],
  input[type=datetime-local].input-lg,
  .input-group-lg > .input-group-btn > input[type=datetime-local].btn,
  .input-group-lg input[type=datetime-local],
  input[type=month].input-lg,
  .input-group-lg > .input-group-btn > input[type=month].btn,
  .input-group-lg input[type=month] {
    line-height: 46px;
  }
}
.form-group {
  margin-bottom: 15px;
}

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 20px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}

.radio input[type=radio],
.radio-inline input[type=radio],
.checkbox input[type=checkbox],
.checkbox-inline input[type=checkbox] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9 ;
}

.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}

.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}

.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}

input[type=radio][disabled], input[type=radio].disabled, fieldset[disabled] input[type=radio],
input[type=checkbox][disabled],
input[type=checkbox].disabled,
fieldset[disabled] input[type=checkbox] {
  cursor: not-allowed;
}

.radio-inline.disabled, fieldset[disabled] .radio-inline,
.checkbox-inline.disabled,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}

.radio.disabled label, fieldset[disabled] .radio label,
.checkbox.disabled label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}

.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 34px;
}
.form-control-static.input-lg, .input-group-lg > .form-control-static.form-control,
.input-group-lg > .form-control-static.input-group-addon,
.input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control,
.input-group-sm > .form-control-static.input-group-addon,
.input-group-sm > .input-group-btn > .form-control-static.btn {
  padding-left: 0;
  padding-right: 0;
}

.input-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}

select.input-sm, .input-group-sm > select.form-control,
.input-group-sm > select.input-group-addon,
.input-group-sm > .input-group-btn > select.btn {
  height: 30px;
  line-height: 30px;
}

textarea.input-sm, .input-group-sm > textarea.form-control,
.input-group-sm > textarea.input-group-addon,
.input-group-sm > .input-group-btn > textarea.btn,
select[multiple].input-sm,
.input-group-sm > select[multiple].form-control,
.input-group-sm > select[multiple].input-group-addon,
.input-group-sm > .input-group-btn > select[multiple].btn {
  height: auto;
}

.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}

.input-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}

select.input-lg, .input-group-lg > select.form-control,
.input-group-lg > select.input-group-addon,
.input-group-lg > .input-group-btn > select.btn {
  height: 46px;
  line-height: 46px;
}

textarea.input-lg, .input-group-lg > textarea.form-control,
.input-group-lg > textarea.input-group-addon,
.input-group-lg > .input-group-btn > textarea.btn,
select[multiple].input-lg,
.input-group-lg > select[multiple].form-control,
.input-group-lg > select[multiple].input-group-addon,
.input-group-lg > .input-group-btn > select[multiple].btn {
  height: auto;
}

.form-group-lg .form-control {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
.form-group-lg select.form-control {
  height: 46px;
  line-height: 46px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 46px;
  min-height: 38px;
  padding: 11px 16px;
  font-size: 18px;
  line-height: 1.3333333;
}

.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 42.5px;
}

.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  pointer-events: none;
}

.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback,
.input-group-lg > .input-group-addon + .form-control-feedback,
.input-group-lg > .input-group-btn > .btn + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 46px;
  height: 46px;
  line-height: 46px;
}

.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback,
.input-group-sm > .input-group-addon + .form-control-feedback,
.input-group-sm > .input-group-btn > .btn + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: rgb(42.808988764, 84.191011236, 43.5224719101);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(102.5280898876, 177.4719101124, 103.8202247191);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(102.5280898876, 177.4719101124, 103.8202247191);
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #3c763d;
}

.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: rgb(102.2741116751, 80.7817258883, 43.7258883249);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(191.807106599, 160.7461928934, 107.192893401);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(191.807106599, 160.7461928934, 107.192893401);
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}

.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: rgb(132.3234042553, 53.2425531915, 51.6765957447);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(206.4127659574, 132.0595744681, 130.5872340426);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px rgb(206.4127659574, 132.0595744681, 130.5872340426);
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #a94442;
}

.has-feedback label ~ .form-control-feedback {
  top: 25px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}

.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: rgb(114.75, 114.75, 114.75);
}

@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type=radio],
  .form-inline .checkbox input[type=checkbox] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}

.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 27px;
}
.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 15px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 18px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}

.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover, .nav > li > a:focus {
  text-decoration: none;
  background-color: rgb(238.425, 238.425, 238.425);
}
.nav > li.disabled > a {
  color: rgb(119.085, 119.085, 119.085);
}
.nav > li.disabled > a:hover, .nav > li.disabled > a:focus {
  color: rgb(119.085, 119.085, 119.085);
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a, .nav .open > a:hover, .nav .open > a:focus {
  background-color: rgb(238.425, 238.425, 238.425);
  border-color: rgb(51.4340909091, 122.2772727273, 183.4159090909);
}
.nav .nav-divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}

.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.428571429;
  border: 1px solid transparent;
  border-radius: 4px 4px 0 0;
}
.nav-tabs > li > a:hover {
  border-color: rgb(238.425, 238.425, 238.425) rgb(238.425, 238.425, 238.425) #ddd;
}
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
  color: rgb(85.425, 85.425, 85.425);
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 4px;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
  color: #fff;
  background-color: rgb(51.4340909091, 122.2772727273, 183.4159090909);
}

.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}

.nav-justified {
  width: 100%;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a {
    margin-bottom: 0;
  }
}

.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 4px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 4px 4px 0 0;
  }
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.navbar {
  position: relative;
  min-height: 50px;
  margin-bottom: 20px;
  border: 1px solid transparent;
}
@media (min-width: 768px) {
  .navbar {
    border-radius: 4px;
  }
}

@media (min-width: 768px) {
  .navbar-header {
    float: left;
  }
}

.navbar-collapse {
  overflow-x: visible;
  padding-right: 15px;
  padding-left: 15px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}

.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 480px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}

.container > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-header,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -15px;
}
@media (min-width: 768px) {
  .container > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-header,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}

.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 768px) {
  .navbar-static-top {
    border-radius: 0;
  }
}

.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 768px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}

.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}

.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}

.navbar-brand {
  float: left;
  padding: 15px 15px;
  font-size: 18px;
  line-height: 20px;
  height: 50px;
}
.navbar-brand:hover, .navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand > img {
  display: block;
}
@media (min-width: 768px) {
  .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand {
    margin-left: -15px;
  }
}

.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 15px;
  padding: 9px 10px;
  margin-top: 8px;
  margin-bottom: 8px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 768px) {
  .navbar-toggle {
    display: none;
  }
}

.navbar-nav {
  margin: 7.5px -15px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 20px;
}
@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 20px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 768px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}

.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type=radio],
  .navbar-form .checkbox input[type=checkbox] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 767px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
.navbar-form {
  margin-top: 8px;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}

.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.navbar-btn {
  margin-top: 8px;
  margin-bottom: 8px;
}
.navbar-btn.btn-sm {
  margin-top: 10px;
  margin-bottom: 10px;
}
.navbar-btn.btn-xs {
  margin-top: 14px;
  margin-bottom: 14px;
}

.navbar-text {
  margin-top: 15px;
  margin-bottom: 15px;
}
@media (min-width: 768px) {
  .navbar-text {
    float: left;
    margin-left: 15px;
    margin-right: 15px;
  }
}

@media (min-width: 768px) {
  .navbar-left {
    float: left !important;
  }
  .navbar-right {
    float: right !important;
    margin-right: -15px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #f8f8f8;
  border-color: rgb(231.425, 231.425, 231.425);
}
.navbar-default .navbar-brand {
  color: #777;
}
.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
  color: rgb(93.5, 93.5, 93.5);
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777;
}
.navbar-default .navbar-nav > li > a {
  color: #777;
}
.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
  color: #333;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
  color: #555;
  background-color: rgb(231.425, 231.425, 231.425);
}
.navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: rgb(231.425, 231.425, 231.425);
}
.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
  background-color: rgb(231.425, 231.425, 231.425);
  color: #555;
}
@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #555;
    background-color: rgb(231.425, 231.425, 231.425);
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #777;
}
.navbar-default .navbar-link:hover {
  color: #333;
}
.navbar-default .btn-link {
  color: #777;
}
.navbar-default .btn-link:hover, .navbar-default .btn-link:focus {
  color: #333;
}
.navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:hover, fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}

.navbar-inverse {
  background-color: #222;
  border-color: rgb(8.5, 8.5, 8.5);
}
.navbar-inverse .navbar-brand {
  color: rgb(157.335, 157.335, 157.335);
}
.navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: rgb(157.335, 157.335, 157.335);
}
.navbar-inverse .navbar-nav > li > a {
  color: rgb(157.335, 157.335, 157.335);
}
.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: rgb(8.5, 8.5, 8.5);
}
.navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: rgb(16.15, 16.15, 16.15);
}
.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
  background-color: rgb(8.5, 8.5, 8.5);
  color: #fff;
}
@media (max-width: 767px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: rgb(8.5, 8.5, 8.5);
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: rgb(8.5, 8.5, 8.5);
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: rgb(157.335, 157.335, 157.335);
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #fff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #fff;
    background-color: rgb(8.5, 8.5, 8.5);
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: rgb(157.335, 157.335, 157.335);
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: rgb(157.335, 157.335, 157.335);
}
.navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {
  color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:hover, fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.pull-right {
  float: right !important;
}

.pull-left {
  float: left !important;
}

.hide {
  display: none !important;
}

.show {
  display: block !important;
}

.invisible {
  visibility: hidden;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.hidden {
  display: none !important;
}

.affix {
  position: fixed;
}

@-ms-viewport {
  width: device-width;
}
.visible-xs {
  display: none !important;
}

.visible-sm {
  display: none !important;
}

.visible-md {
  display: none !important;
}

.visible-lg {
  display: none !important;
}

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}

@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}

@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}

.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}

.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}

@media print {
  .hidden-print {
    display: none !important;
  }
}
.icomoon {
  font-family: "icomoon";
}

/*@include border-top-serrated(<size>, <color>);*/
/*@include border-bottom-serrated(<size>, <color>);*/
/* @include placeholder {
   font-style:italic;
    color: white;
    font-weight:100;
}*/
/* reset sizes */
@media (min-width: 768px) and (max-width: 1140px) {
  .container {
    width: 990px;
    max-width: 100%;
  }
}
@media (min-width: 1140px) {
  .container {
    width: 1140px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}
/* default */
html {
  font-size: 16px;
}
@media (max-width: 1140px) {
  html {
    font-size: 15px;
  }
}

body {
  font-family: "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  background: #eee;
  font-size: 1em;
  color: #2a2d2e;
  line-height: 1.6;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.loading {
  background: url("../images/ico_loading.gif") no-repeat center center #000;
}

img {
  height: auto !important;
}

article, section {
  margin-bottom: 24px;
}

#body-container {
  overflow: clip;
  background: #fff;
  border-radius: 0 0 45px 0;
}
@media (min-width: 1600px) {
  #body-container {
    width: 1600px;
    max-width: 100vw;
    display: block;
    margin: 0 auto;
  }
}
#body-container #main {
  padding-bottom: 45px;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-top: 0;
  margin-bottom: 15px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, .h1 a, .h2 a, .h3 a, .h4 a, .h5 a, .h6 a {
  color: inherit;
}
h1 a:hover, h1 a:focus, h2 a:hover, h2 a:focus, h3 a:hover, h3 a:focus, h4 a:hover, h4 a:focus, h5 a:hover, h5 a:focus, h6 a:hover, h6 a:focus, .h1 a:hover, .h1 a:focus, .h2 a:hover, .h2 a:focus, .h3 a:hover, .h3 a:focus, .h4 a:hover, .h4 a:focus, .h5 a:hover, .h5 a:focus, .h6 a:hover, .h6 a:focus {
  color: inherit;
}

h1, h2, .h1 {
  margin-bottom: 20px;
}
@media (min-width: 1141px) {
  h1, h2, .h1 {
    font-size: 1.9375rem;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  h1, h2, .h1 {
    font-size: 1.7825rem;
  }
}
h1, h2, .h1 {
  line-height: 1.15;
}

h3, .h3 {
  font-size: 1.5rem;
  line-height: 1.25;
}

h4, .h4 {
  font-size: 1.125rem;
}

h5, .h5 {
  font-size: 0.9375rem;
}

a {
  color: rgb(40.8, 97.6, 146.4);
  transition: all 0.18s ease ease-in;
}

.Intro, .Text {
  margin-bottom: 20px;
}
.Intro:last-child, .Text:last-child {
  margin-bottom: 0;
}

@media (min-width: 1141px) {
  .Intro {
    font-size: 1.0625rem;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  .Intro {
    font-size: 1.02rem;
  }
}
.Intro {
  line-height: 1.7;
}

.scrollable-container {
  display: block;
  overflow: visible;
  margin-right: -15px;
}

.scrollable-outer {
  overflow-x: auto;
}

.scrollable-inner {
  display: block;
  white-space: nowrap;
}
.scrollable-inner > div {
  width: 190px;
  display: inline-block;
  margin-right: 15px;
}

.flex-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: auto;
  gap: 20px;
  align-items: stretch;
}
.flex-grid, .flex-grid > li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.row {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
}

.excerptcolumn {
  margin-top: 50px;
}

.mainrow {
  padding-top: 48px;
  padding-bottom: 24px;
}
.mainrow > .sidecolumn > article:last-child, .mainrow > .sidecolumn > section:last-child {
  margin-bottom: 0;
}
.mainrow > .sidecolumn > .CTA.Detail .text {
  font-size: 0.875rem;
  line-height: 1.4;
}
.mainrow > .sidecolumn > .CTA.Detail:first-child:last-child {
  margin-left: -30px;
}

figure {
  max-width: 100%;
}
figure img {
  max-width: 100%;
  height: auto;
}

.visible-xs {
  display: none !important;
}

a, a:hover {
  text-decoration: none;
}

/* breadcrumbs */
.breadcrumbs {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: -9999px;
  top: 0;
}

/* tables */
table {
  border: 0;
  width: 100%;
}

table tr td {
  padding: 2px 10px 7px;
  border: 0;
  vertical-align: top;
}

table tr td:first-child {
  padding-left: 0;
}

table tr th {
  border: 0;
}

hr {
  clear: both;
  float: none;
  display: block;
  margin: 15px 0;
}

img.alignleft {
  float: left;
  margin: 0 10px 10px 0;
  max-width: 45%;
  margin-right: 15px;
  margin-top: 5px;
}

img.alignright {
  float: right;
  margin: 0 0 10px 10px;
  max-width: 45%;
  margin-left: 15px;
  margin-top: 5px;
}

/* buttons */
button, input[type=submit], input[type=button] {
  transition: all 0.18s ease ease-in;
  cursor: pointer;
}

nav .btn-inline {
  display: inline-block;
  vertical-align: middle;
  float: none;
  color: #28a1c5;
  font-weight: 600;
  border: 0;
  background: none transparent;
  opacity: 1;
  transition: all 0.18s ease ease-in;
}
nav .btn-inline::after {
  content: "\ea3c";
  font-family: "icomoon";
  display: inline-block;
  margin-left: 5px;
}

.btn-outline {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid currentColor;
  color: inherit;
  background: none transparent;
  padding: 10px 15px;
  border-radius: 4px;
  font-weight: 600;
  transition: all 0.18s ease ease-in;
}
.btn-outline:hover {
  background: rgba(42, 45, 46, 0.05);
}

.showPointer:hover nav .btn-inline, nav .btn-inline:hover {
  opacity: 0.5;
}

article:hover > .inner > nav .readmore-special:after {
  border-color: transparent transparent #d1cd26;
}

.custom-button {
  padding: 8px 40px 8px 14px;
  position: relative;
  margin: 0 5px 5px 0;
  border: 0;
  background: var(--client-color, #cc0000);
  color: #fff;
  font-weight: bold;
  display: inline-block;
  border-radius: 0 0 10px 0;
  transition: all 0.18s ease ease-in;
}

.custom-button:hover, .custom-button:focus {
  background: #000;
  color: #fff;
  text-decoration: none;
}

.custom-button::after {
  content: "\ea3c";
  font-family: "icomoon";
  position: absolute;
  line-height: 20px;
  right: 13px;
  top: 50%;
  margin-top: -10px;
  font-weight: normal;
  font-size: 100%;
  height: 20px;
  width: 18px;
}

.custom-button.fwm {
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-top: 10px;
  text-align: left;
}

h2 + p .custom-button.fwm {
  margin-top: 0;
}

p > .custom-button:first-child:last-child {
  margin-top: 0;
  margin-bottom: 0;
}

.Overview article {
  position: relative;
  overflow: hidden;
}

/* business overview */
.Other.Overview {
  margin: 15px 0;
  padding: 12px;
  background: #fff;
}

.Other.Overview h3 {
  margin-bottom: 7px;
}

.Other.Overview li address {
  font-style: normal;
  line-height: 1.2;
}

.Other.Overview li h4 {
  float: left;
  font-family: inherit;
  font-weight: bold;
  font-size: 100%;
  margin: 0 7px 0 0;
}

main > nav {
  display: block;
  overflow: hidden;
  clear: both;
  padding-top: 15px;
}

.cat-item-1 {
  display: none;
}

.type-post > .taxonomy-description {
  margin-top: 5px;
  overflow: hidden;
  padding-top: 15px;
  border-top: 1px solid #eee;
  margin-bottom: 0;
}
.type-post > .taxonomy-description hr {
  display: none;
}

.taxonomy-description {
  display: block;
  overflow: hidden;
  max-width: calc(100vw - 30px);
  width: 100%;
}

span.icon {
  font-size: 1rem;
}
span.icon svg {
  color: inherit;
  fill: currentColor;
  stroke: currentColor;
  width: 1em;
  height: 1em;
}

/* forms */
hr {
  margin: 15px 0;
}

input, textarea {
  border: 1px solid #dbe7e5;
  border-radius: 4px;
  color: #2b2b2b;
  padding: 8px 10px 7px;
  transition: all 0.18s ease ease-in;
}

textarea {
  width: 100%;
}

input:focus, textarea:focus {
  border-color: rgba(53, 81, 80, 0.5);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(53, 81, 80, 0.08);
}

.block-grid {
  overflow: hidden;
  padding: 0;
  margin: 0 -20px -20px 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
}

article.ad {
  height: 350px;
}

.block-grid > li {
  display: block;
  height: auto;
  float: left;
  padding: 0 20px 0 0;
}
.block-grid > li > article, .block-grid > li > div {
  height: calc(100% - 20px);
}
.block-grid > li > article.ad, .block-grid > li > div.ad {
  display: block;
  height: auto;
}

.block-grid.one-up {
  margin: 0;
}

.block-grid.one-up > li {
  width: 100%;
}

.block-grid.two-up > li {
  width: 50%;
}

.block-grid.two-up > li:nth-child(2n+1) {
  clear: left;
}

.block-grid.three-up > li {
  width: 33.33333%;
}

.block-grid.three-up > li:nth-child(3n+1) {
  clear: left;
}

.block-grid.four-up > li {
  width: 25%;
}

.block-grid.four-up > li:nth-child(4n+1) {
  clear: left;
}

.block-grid.five-up > li {
  width: 20%;
}

.block-grid.five-up > li:nth-child(5n+1) {
  clear: left;
}

/* placeholder -- selectors need to be separate to work. */
::-webkit-input-placeholder {
  color: #939393;
}

:-moz-placeholder {
  color: #939393;
}

::-moz-placeholder {
  color: #939393;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #939393;
}

/* defaults */
ul.children {
  list-style: none;
  margin: 0;
  padding: 0;
}

ul.children > li > a, .showall {
  position: relative;
  display: block;
  left: 0;
  padding-left: 15px;
  padding-top: 5px;
  padding-bottom: 5px;
  text-decoration: none;
  line-height: 1.1;
  transition: all left 0.18s ease color 0.18s ease;
}

ul.children > li > a span.location {
  font-size: 69%;
}

ul.children > li > a::before, .showall::before {
  content: "\ea3c";
  font-family: "icomoon";
  position: absolute;
  left: 0;
  top: 5px;
  font-size: 9px;
  line-height: 2em;
}

ul.children > li > a .count {
  color: #55d737;
}

ul.children > li > a:hover, .showall:hover {
  left: 5px;
}

ul.checklist, ul.checklist > li {
  list-style: none;
  margin: 0;
  padding: 0;
}

ul.checklist > li {
  position: relative;
  padding: 4px 0 2px 28px;
  line-height: 1.3;
}

ul.checklist > li::before {
  font-size: 20px;
  content: "\ea10";
  color: #00BF00;
  font-family: "icomoon";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
}

/* Make sure images with WordPress-added height and width attributes are scaled correctly. */
img[class*=align], img[class*=wp-image-], img[class*=attachment-] {
  height: auto;
}

.callto, .mailto, .visit, .mapto, .facebook {
  color: inherit;
  text-decoration: none;
}
.callto:before, .mailto:before, .visit:before, .mapto:before, .facebook:before {
  content: "\e942";
  font-family: "icomoon";
  text-align: center;
  padding-right: 3px;
  margin-right: 2px;
  min-width: 18px;
  display: inline-block;
  vertical-align: top;
}

.callto {
  pointer-events: none;
  cursor: text;
}

.callto.mobile:before {
  content: "\e958";
  font-family: "icomoon";
}

.mailto:before {
  content: "\e945";
}

.visit:before {
  content: "\ea7e";
}

.mapto:before {
  content: "\e947";
}

.facebook:before {
  content: "\ea90";
}

/* alignment */
.alignleft {
  float: left;
}

.alignright {
  float: right;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.hide {
  display: none;
}

/* content header */
.entry-header {
  position: relative;
  overflow: hidden;
  display: block;
  clear: both;
  margin-bottom: 15px;
}

.entry-header > h1 {
  float: left;
  margin-right: 10px;
}

.entry-header > .entry-meta {
  float: left;
  clear: none;
  margin: 0;
  padding: 8px 0;
}

article > .inner > .entry-header {
  margin: 0;
}

.entry-title {
  font-size: 185%;
  line-height: 1.1;
  margin: 0 0 12px 0;
}

.entry-title a {
  color: #2b2b2b;
}

.entry-title a:hover {
  color: #41a62a;
}

.socialshare {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  clear: both;
  margin-top: 35px;
}
.socialshare label {
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-weight: bold;
}
.socialshare .socialshare__list {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.socialshare .socialshare__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.14);
  color: #444;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.socialshare .socialshare__btn svg {
  width: 18px;
  height: 18px;
  display: block;
}
.socialshare .socialshare__btn:hover, .socialshare .socialshare__btn:focus-visible {
  transform: translateY(-1px);
  text-decoration: none;
}
.socialshare .socialshare__btn--facebook:hover {
  color: #1877F2;
  border-color: rgba(24, 119, 242, 0.45);
}
.socialshare .socialshare__btn--x:hover {
  color: #111;
  border-color: rgba(17, 17, 17, 0.35);
}
.socialshare .socialshare__btn--linkedin:hover {
  color: #0A66C2;
  border-color: rgba(10, 102, 194, 0.45);
}
.socialshare .socialshare__btn--whatsapp:hover {
  color: #25D366;
  border-color: rgba(37, 211, 102, 0.45);
}
.socialshare .socialshare__btn--email:hover {
  color: #41a62a;
  border-color: rgba(65, 166, 42, 0.45);
}
.socialshare .addthis_sharing_toolbox {
  display: block;
}
.socialshare .addthis_sharing_toolbox > div > a {
  display: inline-block;
}
.socialshare .addthis_sharing_toolbox .at-icon-wrapper {
  display: block;
}
.socialshare .addthis_sharing_toolbox .at-icon path {
  fill: #fff !important;
}

ul.social {
  padding: 0;
  list-style: none;
  display: inline-block;
  vertical-align: middle;
  margin-right: 15px;
  margin-top: -1px;
  margin: 0;
}
ul.social li {
  margin: 0 7px 0 0;
  padding: 0;
  list-style: none;
  float: left;
}
ul.social li a {
  display: block;
  overflow: hidden;
  position: relative;
  font-family: "icomoon";
  background: #3A579D;
  color: #fff;
  width: 27px;
  height: 27px;
  line-height: 27px;
  font-size: 18.9px;
  font-weight: normal;
  padding: 0;
  text-decoration: none;
  text-align: center;
  border-radius: 3px;
}
ul.social li a span {
  display: none;
}
ul.social li a.inst {
  background: #f09433;
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f09433', endColorstr='#bc1888',GradientType=1 );
}
ul.social li a {
  transition: all 0.18s ease ease-in;
}
ul.social li a:focus, ul.social li a:hover {
  text-decoration: none;
  color: #fff;
  opacity: 0.85;
}

.backto {
  padding: 0.7em 0;
  display: block;
  border: 0;
  background: none transparent;
  text-transform: uppercase;
  font-weight: Bold;
  font-size: 12px;
  text-decoration: none !important;
}
.backto::before {
  content: "\ea44";
  font-family: "icomoon";
  display: inline-block;
  margin-right: 5px;
}
.backto:hover, .backto:focus {
  opacity: 0.5;
}
.backto {
  color: inherit;
  min-height: 38px;
  width: 100%;
}

/* responsive */
/** This is a dynamically generated file **/
/* =General CSS
-------------------------------------------------------------- */
.full_width,
.one_half,
.one_third,
.two_third,
.one_fourth,
.three_fourth,
.one_fifth,
.two_fifth,
.three_fifth,
.four_fifth,
.one_sixth,
.five_sixth {
  float: left;
}

.clear_column {
  clear: both;
  display: block;
  font-size: 0;
  height: 0;
  line-height: 0;
  width: 100%;
  overflow: hidden;
}

/* =Shortcodes Templates
-------------------------------------------------------------- */
/* =Default Template (no margin)
-------------------------------------------------------------- */
.full_width {
  width: 100%;
}

.one_half {
  width: 50%;
}

.one_third {
  width: 33.3%;
}

.two_third {
  width: 66.6%;
}

.one_fourth {
  width: 25%;
}

.three_fourth {
  width: 75%;
}

.one_fifth {
  width: 20%;
}

.two_fifth {
  width: 40%;
}

.three_fifth {
  width: 60%;
}

.four_fifth {
  width: 80%;
}

.one_sixth {
  width: 16.6%;
}

.five_sixth {
  width: 83.4%;
}

/* =Responsive
-------------------------------------------------------------- */
/* Maximum width of 600 pixels. */
@media screen and (max-width: 600px) {
  .full_width,
  .one_half,
  .one_third,
  .two_third,
  .one_fourth,
  .three_fourth,
  .one_fifth,
  .two_fifth,
  .three_fifth,
  .four_fifth,
  .one_sixth,
  .five_sixth {
    clear: both;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1em;
  }
}
/* =Small Margins Template
-------------------------------------------------------------- */
/*
.full_width  {
	width: 100%;
}
.one_half {
	width: 49% !important;
	margin-right: 2% !important;
}
.one_half.last_column {
	width: 49% !important;
	margin-right: 0px !important;
}
.one_third {
	width: 32% !important;
	margin-right: 2% !important;
}
.one_third.last_column {
	width: 32% !important;
	margin-right: 0px !important;
}
.two_third {
	width: 66% !important;
	margin-right: 2% !important;
}
.two_third.last_column {
	width: 66% !important;
	margin-right: 0px !important;
}
.one_fourth {
	width: 23.5% !important;
	margin-right: 2% !important;
}
.one_fourth.last_column {
	width: 23.5% !important;
	margin-right: 0px !important;
}
.three_fourth {
	width: 74.5% !important;
	margin-right: 2% !important;
}
.three_fourth.last_column {
	width: 74.5% !important;
	margin-right: 0px !important;
}
.one_fifth {
	width: 18.4% !important;
	margin-right: 2% !important;
}
.one_fifth.last_column {
	width: 18.4% !important;
	margin-right: 0px !important;
}
.two_fifth {
	width: 39% !important;
	margin-right: 2% !important;
}
.two_fifth.last_column {
	width: 39% !important;
	margin-right: 0px !important;
}
.three_fifth {
	width: 59% !important;
	margin-right: 2% !important;
}
.three_fifth.last_column {
	width: 59% !important;
	margin-right: 0px !important;
}
.four_fifth {
	width: 79.6% !important;
	margin-right: 2% !important;
}
.four_fifth.last_column {
	width: 79.6% !important;
	margin-right: 0px !important;
}
.one_sixth {
	width: 15% !important;
	margin-right: 2% !important;
}
.one_sixth.last_column {
	width: 15% !important;
	margin-right: 0px !important;
}
*/
/* Kleuren & basisvariabelen */
/* ===== Site Header ===== */
.site-header {
  background: #fff;
  border-bottom: 1px solid rgba(26, 28, 28, 0.08);
  box-shadow: 0 1px 0 rgba(26, 28, 28, 0.04);
  /* Sticky op desktop/tablet zodat de navigatie altijd binnen bereik blijft. */
  position: sticky;
  top: 0;
  z-index: 500;
}
.site-header * {
  box-sizing: border-box;
}
.site-header {
  /* Top utility strip — language switch, eventueel later meer utility-links */
}
.site-header__utility {
  border-bottom: 1px solid rgba(26, 28, 28, 0.06);
  background: transparent;
}
.site-header__utility-inner {
  width: 100%;
  max-width: 1560px;
  margin: 0 auto;
  padding: 6px 28px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  min-height: 30px;
}
.site-header__main {
  height: 76px;
}
.site-header .container {
  width: 100%;
  max-width: 1560px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  height: 76px;
  padding: 0 28px;
}
.site-header .container .logo {
  flex-shrink: 0;
}
.site-header .container .search-form {
  margin-left: auto;
}
.site-header .container .search-form,
.site-header .container .user-info {
  flex-shrink: 0;
}
.site-header {
  /* Logo */
}
.site-header .logo {
  flex-shrink: 0;
}
.site-header .logo img {
  height: 45px;
  width: auto;
}
.site-header {
  /* Navigatie */
}
.site-header .primary-navigation {
  flex: 1;
  margin: 0 20px;
}
.site-header .primary-navigation .nav {
  display: flex;
  align-items: center;
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-header .primary-navigation .nav > li {
  position: relative;
}
.site-header .primary-navigation .nav > li > a {
  color: rgb(90.6818181818, 97.1590909091, 99.3181818182);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 0 10px;
  border-radius: 0;
  background: none;
  border-bottom: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.site-header .primary-navigation .nav > li > a:hover, .site-header .primary-navigation .nav > li > a:focus-visible {
  color: #355150;
  border-bottom-color: rgba(53, 81, 80, 0.35);
}
.site-header .primary-navigation .nav > li.active > a, .site-header .primary-navigation .nav > li.current-menu-item > a {
  color: #355150;
  font-weight: 700;
  border-bottom-color: #355150;
}
.site-header .primary-navigation .nav {
  /* Verwijder eventuele pseudo-decoraties */
}
.site-header .primary-navigation .nav li::after,
.site-header .primary-navigation .nav li::before {
  display: none;
}
.site-header {
  /* Rechterzijde — action buttons */
}
.site-header .search-form .search-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid rgba(26, 28, 28, 0.12);
  color: #2a2d2e;
  border-radius: 12px;
  padding: 9px 16px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.site-header .search-form .search-toggle:hover, .site-header .search-form .search-toggle:focus-visible {
  border-color: rgba(53, 81, 80, 0.55);
  color: #355150;
  background: rgba(53, 81, 80, 0.04);
}
.site-header {
  /* Favorieten / Mijn plan / Uitloggen — action buttons */
}
.site-header .user-info {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.site-header .user-info button,
.site-header .user-info .favorites-header-btn,
.site-header .user-info .show-login-modal,
.site-header .user-info .logout-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid rgba(26, 28, 28, 0.12);
  color: #2a2d2e;
  border-radius: 12px;
  padding: 9px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.site-header .user-info button:hover, .site-header .user-info button:focus-visible,
.site-header .user-info .favorites-header-btn:hover,
.site-header .user-info .favorites-header-btn:focus-visible,
.site-header .user-info .show-login-modal:hover,
.site-header .user-info .show-login-modal:focus-visible,
.site-header .user-info .logout-btn:hover,
.site-header .user-info .logout-btn:focus-visible {
  border-color: rgba(53, 81, 80, 0.55);
  color: #355150;
  background: rgba(53, 81, 80, 0.04);
}
.site-header .user-info {
  /* Primaire CTA: Mijn plan / Favorieten — volgt het design zijn
     tertiary-accent, maar met de brand-primary van dit project. */
}
.site-header .user-info .show-login-modal,
.site-header .user-info .favorites-header-btn {
  background: #355150;
  border-color: #355150;
  color: #fff;
}
.site-header .user-info .show-login-modal svg,
.site-header .user-info .favorites-header-btn svg {
  color: #fff;
  fill: #fff;
}
.site-header .user-info .show-login-modal:hover, .site-header .user-info .show-login-modal:focus-visible,
.site-header .user-info .favorites-header-btn:hover,
.site-header .user-info .favorites-header-btn:focus-visible {
  background: rgb(48.76, 74.52, 73.6);
  border-color: rgb(48.76, 74.52, 73.6);
  color: #fff;
}
.site-header .user-info .logout-btn {
  /* Secundair: blijft neutraal pill, maar subtielere tekstkleur */
  color: rgb(66.3409090909, 71.0795454545, 72.6590909091);
}
.site-header .user-info {
  /* Mijn-plan badge (count) houdt zijn eigen styling aan. */
}
.site-header .user-info .mijnplan-badge[hidden] {
  display: none;
}

/* ===== In de buurt knop ===== */
.nearby-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid rgba(26, 28, 28, 0.12);
  color: #2a2d2e;
  border-radius: 12px;
  padding: 9px 16px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}
.nearby-btn:hover, .nearby-btn:focus-visible, .nearby-btn:active {
  border-color: rgba(53, 81, 80, 0.55);
  color: #355150;
  background: rgba(53, 81, 80, 0.04);
}
.nearby-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(53, 81, 80, 0.18);
}
.nearby-btn__icon {
  flex-shrink: 0;
}
.nearby-btn.loading {
  pointer-events: none;
  cursor: progress;
  color: #355150;
  border-color: rgba(53, 81, 80, 0.55);
  background: rgba(53, 81, 80, 0.04);
}
.nearby-btn.loading .nearby-btn__icon {
  animation: nearby-btn-spin 0.9s linear infinite;
  transform-origin: 50% 50%;
}

@keyframes nearby-btn-spin {
  to {
    transform: rotate(360deg);
  }
}
/* ===== Postcode/nearby modal ===== */
.nearby-modal {
  position: fixed;
  inset: 0;
  z-index: 100500;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nearby-modal[hidden] {
  display: none;
}
.nearby-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}
.nearby-modal__panel {
  position: relative;
  background: #fff;
  border-radius: 16px;
  padding: 28px 24px 24px;
  max-width: 400px;
  width: calc(100% - 32px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
  animation: nearby-modal-in 0.2s ease;
}
.nearby-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: 0;
  cursor: pointer;
  color: #888;
  padding: 4px;
  border-radius: 6px;
  line-height: 1;
  transition: color 0.15s, background 0.15s;
}
.nearby-modal__close:hover {
  color: #2a2d2e;
  background: #eee;
}
.nearby-modal__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 8px;
  padding-right: 28px;
}
.nearby-modal__desc {
  color: #666;
  font-size: 0.875rem;
  margin-bottom: 20px;
}
.nearby-modal__label {
  display: block;
  font-weight: 600;
  font-size: 0.85rem;
  margin-bottom: 6px;
  color: #2a2d2e;
}
.nearby-modal__input-row {
  display: flex;
  gap: 8px;
}
.nearby-modal__input {
  flex: 1;
  border: 1px solid #dbe7e5;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 1rem;
  color: #2a2d2e;
  background: #fff;
}
.nearby-modal__input:focus {
  outline: none;
  border-color: #355150;
  box-shadow: 0 0 0 3px rgba(53, 81, 80, 0.1);
}
.nearby-modal__submit {
  background: #355150;
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 10px 18px;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.18s;
}
.nearby-modal__submit:hover {
  background: rgb(46.64, 71.28, 70.4);
}

@keyframes nearby-modal-in {
  from {
    opacity: 0;
    transform: scale(0.96) translateY(6px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
/* ===== Mobiele tap-targets ===== */
/* ===== Mobile drawer ===== */
/* === SCSS patch: opgeschoond & gegroepeerd === */
/* Plak dit na je huidige CSS/SCSS. */
/* ===== Social shortcuts ===== */
.instagram,
.whatsapp {
  color: inherit;
  text-decoration: none;
}
.instagram:before,
.whatsapp:before {
  font-family: "icomoon";
  text-align: center;
  padding-right: 3px;
  margin-right: 2px;
  min-width: 18px;
  display: inline-block;
  vertical-align: top;
  content: "";
}

.instagram:before {
  content: "\ea92";
}

.whatsapp:before {
  content: "\ea93";
}

/* ===== Nav-tabs justified ===== */
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified > .active > a {
  border: 1px solid #ddd;
  border-bottom-color: #fff;
}
.nav-tabs.nav-justified > li {
  float: none;
}
.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin: 0;
  border-radius: 4px;
}

@media (min-width: 768px) {
  .nav-justified > li,
  .nav-tabs.nav-justified > li {
    display: table-cell;
  }
  .nav-tabs-justified > li > a,
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #ddd;
  }
}
@media (max-width: 767px) {
  .advert {
    padding-right: 0 !important;
  }
}
.advert > a {
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
  position: relative;
  overflow: hidden;
  display: block;
}
.advert > a::before {
  content: "Advertentie";
  display: block;
  position: absolute;
  right: 7px;
  line-height: 20px;
  z-index: 6;
  font-size: 10px;
  top: 5px;
  color: #fff;
  font-weight: bold;
}
.advert > a {
  /*	.close {
          font-family:"FontAwesome"; width:20px; height:20px; line-height:20px; text-align: center; display:block; position: absolute; right:7px; top:7px;
          color:#446fa3; background:#fff; @include border-radius(50%);
      }*/
}
.advert > a img {
  width: 100%;
}

body.page-id-4535 #main {
  position: relative;
  overflow: visible;
  z-index: 3;
}
body.page-id-4535 #main::before, body.page-id-4535 #main::after {
  content: "";
  top: 0;
  bottom: 0;
  left: 50%;
  max-width: 100.2vw;
  transform: translate(-50%, 0px);
  display: block;
  z-index: -1;
  position: absolute;
  width: 1600px;
  bottom: 0;
}
body.page-id-4535 #main::before {
  background: rgb(42, 45, 46);
}
body.page-id-4535 #main::after {
  background: url(../images/banners/2.jpg) no-repeat center top/100% auto;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  opacity: 0.5;
}
body.page-id-4535 #main .mainrow > .maincolumn {
  padding-top: 60px;
  padding-bottom: 40px;
}
body.page-id-4535 #main .mainrow > .maincolumn div.wpcf7 {
  margin-top: 40px;
}
body.page-id-4535 #main .mainrow > .maincolumn {
  color: #fff;
  text-align: center;
}
@media (min-width: 1141px) {
  body.page-id-4535 #main .mainrow > .maincolumn > h1 {
    font-size: 2.5rem;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  body.page-id-4535 #main .mainrow > .maincolumn > h1 {
    font-size: 2.15rem;
  }
}
body.page-id-4535 #main .mainrow > .maincolumn > h1 {
  font-weight: bold;
}
body.page-id-4535 #main .mainrow > .maincolumn > h1, body.page-id-4535 #main .mainrow > .maincolumn > .Intro {
  color: inherit;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}
@media (max-width: 1140px) {
  body.page-id-4535 #main .mainrow > .maincolumn {
    padding-top: 30px;
    padding-bottom: 20px;
  }
}
@media (max-width: 767px) {
  body.page-id-4535 #main .mainrow > .maincolumn {
    padding-top: 15px;
    padding-bottom: 0;
  }
  body.page-id-4535 #main .mainrow > .maincolumn div.wpcf7 {
    margin-top: 10px;
  }
  body.page-id-4535 #main .mainrow > .maincolumn .Intro:last-child {
    margin-bottom: 0;
  }
}

/* ===== Transparantie-badges ===== */
/* Basis badge-container op cards */
.linkdiv,
.Business.Detail,
.Block.CTA.Detail,
article {
  position: relative;
}

.badge {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 20px;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

.badge--sponsored {
  background: #f57c00;
  color: #fff;
}
.badge--sponsored::before {
  content: "$";
  font-size: 0.7em;
  font-weight: 900;
  opacity: 0.85;
}

.badge--editorial {
  background: #2d7a3f;
  color: #fff;
}
.badge--editorial::before {
  content: "✓";
  font-size: 0.78em;
  font-weight: 900;
}

.banner {
  position: relative;
  z-index: 1006;
}
@media (min-width: 768px) and (max-width: 1140px) {
  .banner .container {
    width: 100%;
  }
}
.banner h1 {
  display: block;
  color: #fff;
  font-weight: bold;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  text-align: center;
}
@media (min-width: 1141px) {
  .banner h1 {
    font-size: 2.5rem;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  .banner h1 {
    font-size: 2.15rem;
  }
}
.banner h1 {
  margin-bottom: 40px;
}
.banner .Filters {
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
  border-radius: 25px 25px 25px 0;
  display: Block;
  background: #fff;
  position: relative;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  width: 750px;
}
.banner .Filters .dropdown-menu {
  font-size: 0.9375rem;
}
.banner .Filters .dropdown-menu > .block-grid {
  margin-bottom: -20px;
  margin-right: -5px;
}
.banner .Filters .dropdown-menu > .block-grid > li {
  margin-bottom: 20px;
  padding-right: 5px;
}
.banner .Filters .dropdown-menu > .block-grid > li > a:first-child {
  font-weight: bold;
  text-transform: uppercase;
  color: #2a2d2e;
  text-decoration: none;
  display: block;
}
.banner .Filters .dropdown-menu > .block-grid > li ul.children > li > a, .banner .Filters .dropdown-menu > .block-grid > li .showall {
  color: #2a2d2e;
}
.banner .Filters .dropdown-menu > .block-grid > li ul.children > li > a:hover, .banner .Filters .dropdown-menu > .block-grid > li .showall:hover {
  color: #28a1c5;
}
.banner .Filters ul.dropdown-menu {
  margin: 0;
  padding: 0;
}
.banner .Filters ul.dropdown-menu > li > a {
  display: block;
  padding: 10px 12px;
}
.banner .Filters ul.dropdown-menu > li > a span.icon {
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}
.banner .Filters ul.dropdown-menu > li > a span.icon svg {
  display: block;
  color: currentColor;
  fill: currentColor;
}
.banner .Filters ul.dropdown-menu > li.menu-group-title {
  padding: 12px 12px 6px;
}
.banner .Filters ul.dropdown-menu > li.menu-group-title > span {
  display: block;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  opacity: 0.7;
  text-transform: uppercase;
}
.banner .input-group {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  box-shadow: 0 0 0;
  border-radius: 0;
  background: none transparent;
}
.banner .input-group .input-group-addon, .banner .input-group .form-control, .banner .input-group .input-group-btn .btn {
  line-height: 30px;
  padding: 0;
  border: 0;
  border-radius: 0;
  height: auto;
  min-height: 0;
}
.banner .input-group .input-group-addon {
  padding: 10px 15px;
  text-align: center;
  background: #28a1c5;
  color: #fff;
  font-weight: bold;
}
@media (min-width: 1141px) {
  .banner .input-group .input-group-addon {
    font-size: 1.25rem;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  .banner .input-group .input-group-addon {
    font-size: 1.15rem;
  }
}
.banner .input-group .input-group-addon:first-child {
  width: 190px;
  border-radius: 25px 0 0 0;
}
.banner .form-control {
  flex: 1;
  height: auto;
  border-right: 2px solid #e5e5e5;
  background: none transparent;
  position: relative;
  width: 50%;
}
.banner .form-control:last-child {
  border-right: 0;
}
.banner .form-control > button {
  border: 0;
  width: 100%;
  display: block;
  text-align: left;
  position: relative;
  padding: 10px 35px 10px 20px;
  background: none transparent;
  color: rgba(42, 45, 46, 0.5);
}
@media (min-width: 1141px) {
  .banner .form-control > button {
    font-size: 1.25rem;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  .banner .form-control > button {
    font-size: 1.175rem;
  }
}
.banner .form-control > button {
  transition: all 0.3s ease-out;
}
.banner .form-control > button:hover {
  color: #2a2d2e;
}
.banner .form-control > button span.icon {
  font-style: normal;
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
  font-size: 18px;
  line-height: 1;
  margin-top: -2px;
  text-align: center;
  min-width: 21px;
}
.banner .form-control > button::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 6px 0 6px;
  border-color: #2a2d2e transparent transparent transparent;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translate(0px, -50%);
  transition: all 0 ease-in;
}
.banner .form-control.open > button {
  color: #2a2d2e;
}
.banner .form-control.open > button::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 6px 6px 6px;
  border-color: transparent transparent #2a2d2e transparent;
}
.banner .form-control > .dropdown-menu {
  left: 0;
  right: 25px;
  min-width: 90%;
  top: 100%;
  margin: 0;
  position: absolute;
  z-index: 4;
  border: 0;
  border-radius: 0;
  border-top: 2px solid #e5e5e5;
  max-height: 60vh;
  overflow-y: auto;
}
.banner .form-control.large {
  position: static;
}
.banner .form-control.large > .dropdown-menu {
  left: 0;
  width: auto;
  min-width: 0;
  padding: 0px;
  z-index: 1006;
  padding-top: 48px;
}
.banner .form-control .dropdown-menu .dropdown-close,
.banner .form-control .dropdown-menu .dropdown-close-row .dropdown-close {
  position: absolute;
  left: 100%;
  top: 0;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  z-index: 20;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px;
  min-height: 36px;
  max-width: 36px;
  max-height: 36px;
  flex: 0 0 36px;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  line-height: 1;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: 1px solid rgba(26, 28, 28, 0.12);
  border-radius: 50% !important;
  background: #fff;
  color: #2a2d2e;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18), 0 1px 3px rgba(0, 0, 0, 0.12);
  -webkit-tap-highlight-color: transparent;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.banner .form-control .dropdown-menu .dropdown-close > svg,
.banner .form-control .dropdown-menu .dropdown-close-row .dropdown-close > svg {
  display: block;
  width: 22px;
  height: 22px;
  margin: 0;
  flex: none;
}
.banner .form-control .dropdown-menu .dropdown-close:hover, .banner .form-control .dropdown-menu .dropdown-close:focus-visible,
.banner .form-control .dropdown-menu .dropdown-close-row .dropdown-close:hover,
.banner .form-control .dropdown-menu .dropdown-close-row .dropdown-close:focus-visible {
  background: #eee;
  border-color: rgba(26, 28, 28, 0.24);
  color: #2a2d2e;
  outline: none;
}
.banner .form-control.large > .dropdown-menu .dropdown-search {
  padding-right: 24px;
}
.banner .form-control:not(.large) > ul.dropdown-menu {
  padding-top: 16px;
}
.banner .form-control .dropdown-menu .dropdown-close-row {
  list-style: none;
  display: block;
  padding: 0;
  margin: 0;
  height: 0;
  grid-column: 1/-1;
}
.banner .back {
  padding: 0.7em 0;
  display: block;
  border: 0;
  background: none transparent;
  text-transform: uppercase;
  font-weight: Bold;
  font-size: 12px;
  text-decoration: none !important;
}
.banner .back::before {
  content: "\ea44";
  font-family: "icomoon";
  display: inline-block;
  margin-right: 5px;
}
.banner .back:hover, .banner .back:focus {
  opacity: 0.5;
}
.banner .back {
  margin: 10px 5px 0 0;
  float: none;
  display: inline-block;
  vertical-align: middle;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  color: #fff;
  margin-right: 170px;
}
.banner .ontop {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  display: table;
  top: 0;
  z-index: 10006;
  padding-top: 60px;
  text-align: right;
}
@media (max-width: 1140px) {
  .banner .ontop {
    padding-top: 20px;
  }
}
.banner .ontop > .inner {
  display: table-cell;
  vertical-align: middle;
}
.banner .banner_image {
  overflow: hidden;
  display: block;
  height: 100%;
}
.banner .banner_image, .banner .banner_image * {
  -webkit-touch-callout: none; /* iOS Safari */
  user-select: none; /* Non-prefixed version, currently not supported by any browser */
}
.banner .banner_image > picture {
  display: block;
  width: 100%;
  height: 100%;
}
.banner .banner_image picture > img,
.banner .banner_image > img {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}
@media (min-width: 1600px) {
  .banner .banner_image, .banner .ontop {
    height: 400px !important;
  }
}

/* ── Banner-mobile taglijst: mobiel ──────────────────────────────────
   Matches the visual language van `.intent-tile` (Wat past bij jouw dag?):
   - kleur-accent per tegel via `--intent-color`
   - afgeronde 18px kaart + subtiele schaduw
   - icon in zachte rounded-square chip (niet rond) boven gebold label
   - hover toont onderste accent-streep */
/* ── Banner-mobile taglijst: desktop ───────────────────────────────── */
.banner-mobile {
  border-top: 0;
  padding: 8px 0 4px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.15) transparent;
}
.banner-mobile::-webkit-scrollbar {
  height: 4px;
}
.banner-mobile::-webkit-scrollbar-track {
  background: transparent;
}
.banner-mobile::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 2px;
}
.banner-mobile .block-grid {
  display: flex;
  flex-wrap: nowrap;
  list-style: none;
  margin: 0;
  padding: 4px 8px 8px;
  gap: 8px;
  min-width: min-content;
}
.banner-mobile .block-grid > li {
  flex: 0 0 auto;
  width: auto !important;
  text-align: center;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  background: #fff;
}
.banner-mobile .block-grid > li.hidden-xs {
  display: block !important;
}
.banner-mobile .block-grid > li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 16px;
  gap: 6px;
  color: #2a2d2e;
  text-decoration: none;
}
@media (min-width: 1141px) {
  .banner-mobile .block-grid > li a {
    font-size: 0.8125rem;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  .banner-mobile .block-grid > li a {
    font-size: 0.715rem;
  }
}
.banner-mobile .block-grid > li a {
  transition: all 0.2s ease-out;
}
.banner-mobile .block-grid > li a:hover {
  color: #28a1c5;
}
.banner-mobile .block-grid > li a:focus-visible {
  outline: 2px solid #28a1c5;
  outline-offset: 2px;
  border-radius: 8px;
}
.banner-mobile .block-grid > li span.icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.banner-mobile .block-grid > li span.icon svg {
  color: #fff;
  fill: #fff;
  display: block;
  width: 20px;
  height: 20px;
}
.banner-mobile .block-grid > li span.icon.verhuur {
  transform: scale(1);
}
.banner-mobile .block-grid > li span.icon.soort-pill__icon svg {
  color: #fff;
  fill: #fff;
}

/* ── Banner-mobile: gekleurde iconachtergronden per tag-slug ──────────
   Kleuren dubbelen door naar `--intent-color` op de tegel-link, zodat
   de hover-onderstreep dezelfde tint krijgt als het icoon — dezelfde
   kleurtaal als de `.intent-tile` componenten in de Wat-past-bij-jouw-
   dag rij. */
.banner-mobile li:has(> a > span.icon.eten-en-drinken) > a {
  --intent-color: #d97b3a;
}

.banner-mobile li:has(> a > span.icon.dagjes-uit) > a {
  --intent-color: #2d7a3f;
}

.banner-mobile li:has(> a > span.icon.winkelen) > a {
  --intent-color: #6b4c8a;
}

.banner-mobile li:has(> a > span.icon.watersport) > a {
  --intent-color: #1565a0;
}

.banner-mobile li:has(> a > span.icon.verhuur) > a {
  --intent-color: #004d40;
}

.banner-mobile li:has(> a > span.icon.sport) > a {
  --intent-color: #c62828;
}

.banner-mobile li:has(> a > span.icon.cultuur) > a {
  --intent-color: #512da8;
}

.banner-mobile li:has(> a > span.icon.service) > a {
  --intent-color: #424242;
}

.banner-mobile li:has(> a > span.icon.events) > a {
  --intent-color: #f57f17;
}

.banner-mobile li:has(> a > span.icon.natuur) > a {
  --intent-color: #1b5e20;
}

.banner-mobile li:has(> a > span.icon.wellness) > a {
  --intent-color: #c2185b;
}

.banner-mobile li:has(> a > span.icon.horeca) > a {
  --intent-color: #e65100;
}

.banner-mobile span.icon {
  background: #9a9b9b;
}
.banner-mobile span.icon.eten-en-drinken {
  background: #d97b3a;
}
.banner-mobile span.icon.dagjes-uit {
  background: #2d7a3f;
}
.banner-mobile span.icon.winkelen {
  background: #6b4c8a;
}
.banner-mobile span.icon.watersport {
  background: #1565a0;
}
.banner-mobile span.icon.verhuur {
  background: #004d40;
}
.banner-mobile span.icon.sport {
  background: #c62828;
}
.banner-mobile span.icon.cultuur {
  background: #512da8;
}
.banner-mobile span.icon.service {
  background: #424242;
}
.banner-mobile span.icon.events {
  background: #f57f17;
}
.banner-mobile span.icon.natuur {
  background: #1b5e20;
}
.banner-mobile span.icon.wellness {
  background: #c2185b;
}
.banner-mobile span.icon.horeca {
  background: #e65100;
}
.banner-mobile span.icon.soort-pill__icon--soort-eten-drinken {
  background: #d97b3a;
}
.banner-mobile span.icon.soort-pill__icon--soort-keuken {
  background: #e65100;
}
.banner-mobile span.icon.soort-pill__icon--soort-cafe-bar {
  background: #f57f17;
}
.banner-mobile span.icon.soort-pill__icon--soort-dagje-uit {
  background: #2d7a3f;
}
.banner-mobile span.icon.soort-pill__icon--soort-sfeer-doelgroep {
  background: #6b4c8a;
}
.banner-mobile span.icon.soort-pill__icon--soort-winkelen {
  background: #1565a0;
}
.banner-mobile span.icon.soort-pill__icon--soort-sport-fitness {
  background: #c62828;
}
.banner-mobile span.icon.soort-pill__icon--soort-verhuur {
  background: #004d40;
}
.banner-mobile span.icon.soort-pill__icon--soort-service {
  background: #424242;
}
.banner-mobile span.icon.soort-pill__icon--soort-verblijf {
  background: #512da8;
}
.banner-mobile span.icon.soort-pill__icon--soort-faciliteiten {
  background: #3e2723;
}

/* ===== Banner / Filters / Geolocatie ===== */
.banner .Filters {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  gap: 5px;
}
.banner .Filters .dropdown-menu > .block-grid > li > *:first-child {
  font-weight: bold;
  text-transform: uppercase;
  color: #2a2d2e;
  text-decoration: none;
  display: block;
}
.banner .Filters > * {
  background: #fff;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
  border-radius: 25px;
}
.banner .geolocation {
  margin-right: 5px;
}
.banner .geolocation .aside {
  position: absolute;
  left: 5px;
  color: #fff;
  font-weight: bold;
  text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.55);
}
.banner .geolocation .aside span.icon {
  font-size: 1.7em;
  display: inline-block;
}
.banner .geolocation .aside span.icon svg {
  width: 1em;
  height: 1em;
  color: inherit;
  fill: currentColor;
  transform: scaleX(-1) rotate(-30deg);
}
.banner .geolocation .gps {
  font-family: "icomoon";
  padding: 10px;
  border: 0;
  background: none transparent;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 3.125rem;
  font-size: 1.375rem;
  line-height: 1;
  width: 3.125rem;
}

/* ===== Banner home links overrides ===== */
.banner-home-links-wrap {
  position: relative;
  margin: 24px 0 18px;
  width: 100%;
  display: flex;
  justify-content: center;
}
.banner-home-links-wrap .container {
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
  display: flex;
  justify-content: flex-start;
}

.banner-home-links {
  width: 100%;
  margin: 0;
  padding: 0 15px;
  padding: 0;
}

.banner-home-links__label {
  display: inline-block;
  max-width: 16rem;
  white-space: normal;
  line-height: 1.2;
  font-weight: 500;
  color: #355150;
}

.banner-home-links {
  padding: 4px 0;
  overflow: visible;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.banner-home-links .block-grid {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.banner-home-links .block-grid > li {
  width: auto !important;
  flex: 0 1 auto;
  border: 1px solid rgba(26, 28, 28, 0.08);
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: none;
  transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.banner-home-links .block-grid > li:hover,
.banner-home-links .block-grid > li:focus-within {
  border-color: rgba(53, 81, 80, 0.35);
  background: color-mix(in srgb, #355150 4%, #fff);
}

.banner-home-links .block-grid > li a {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-height: 44px;
  padding: 10px 15px 10px 12px;
  color: #355150;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
}
.banner-home-links .block-grid > li a:focus-visible {
  outline: 2px solid #28a1c5;
  outline-offset: 2px;
  border-radius: 10px;
}

.banner-home-links .block-grid > li span.icon {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 8px;
  background: #888;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

.banner-home-links .block-grid > li span.icon svg {
  width: 16px;
  height: 16px;
  display: block;
  fill: currentColor;
}

/* Gekleurde iconachtergronden per categorie in banner-home-links — vol kleur met wit icoon */
.banner-home-links .block-grid > li span.icon.eten-en-drinken {
  background: #d97b3a;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.dagjes-uit {
  background: #2d7a3f;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.winkelen {
  background: #6b4c8a;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.watersport {
  background: #1565a0;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.verhuur {
  background: #004d40;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.sport {
  background: #c62828;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.cultuur {
  background: #512da8;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.service {
  background: #424242;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.events {
  background: #f57f17;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.natuur {
  background: #1b5e20;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.wellness {
  background: #c2185b;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.horeca {
  background: #e65100;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.soort-pill__icon--soort-eten-drinken {
  background: #d97b3a;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.soort-pill__icon--soort-keuken {
  background: #e65100;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.soort-pill__icon--soort-cafe-bar {
  background: #f57f17;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.soort-pill__icon--soort-dagje-uit {
  background: #2d7a3f;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.soort-pill__icon--soort-sfeer-doelgroep {
  background: #6b4c8a;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.soort-pill__icon--soort-winkelen {
  background: #1565a0;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.soort-pill__icon--soort-sport-fitness {
  background: #c62828;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.soort-pill__icon--soort-verhuur {
  background: #004d40;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.soort-pill__icon--soort-service {
  background: #424242;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.soort-pill__icon--soort-verblijf {
  background: #512da8;
  color: #fff;
}
.banner-home-links .block-grid > li span.icon.soort-pill__icon--soort-faciliteiten {
  background: #3e2723;
  color: #fff;
}

/* ===== Hero CTA (Plan mijn dag) ===== */
.banner-hero-cta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 14px 0 18px;
  flex-wrap: wrap;
}
.banner-hero-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #F6882E;
  color: #fff;
  font-weight: 700;
  font-size: 1.05rem;
  padding: 13px 28px;
  border: 0;
  border-radius: 30px;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 4px 18px rgba(246, 136, 46, 0.35);
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}
.banner-hero-cta__btn:hover, .banner-hero-cta__btn:focus-visible {
  background: rgb(216.48, 119.68, 40.48);
  box-shadow: 0 6px 24px rgba(246, 136, 46, 0.45);
  transform: translateY(-1px);
}
.banner-hero-cta__btn:active {
  transform: translateY(0);
}

/* ===== Intent-hero (kaart-grid onder banner, geen gedeelde afbeelding) ===== */
.intent-hero {
  position: relative;
  padding: 28px 0 26px;
  margin-bottom: 18px;
  background: radial-gradient(1200px 320px at 10% 0%, rgba(47, 182, 116, 0.08), transparent 60%), radial-gradient(900px 260px at 100% 100%, rgba(141, 110, 214, 0.08), transparent 60%), linear-gradient(180deg, #f7f9fc 0%, #eef2f7 100%);
}
.intent-hero__inner {
  position: relative;
}
.intent-hero__head {
  text-align: center;
  margin-bottom: 16px;
}
.intent-hero__eyebrow {
  margin: 0 0 4px;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  color: #6b7a8a;
}
.intent-hero__title {
  margin: 0;
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1.15;
  color: #1a2536;
}
.intent-hero__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}

.intent-tile {
  --intent-color: #28a1c5;
  margin: 0;
  list-style: none;
}
.intent-tile__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 10px;
  min-height: 104px;
  border-radius: 14px;
  border: 1.5px solid color-mix(in srgb, var(--intent-color) 28%, #dfe5ec);
  background: linear-gradient(160deg, color-mix(in srgb, var(--intent-color) 15%, #fff) 0%, #fff 75%);
  color: #2a2d2e;
  text-align: center;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}
.intent-tile__link:hover, .intent-tile__link:focus-visible {
  transform: translateY(-3px);
  border-color: var(--intent-color);
  box-shadow: 0 14px 30px -12px color-mix(in srgb, var(--intent-color) 40%, transparent);
  background: linear-gradient(160deg, color-mix(in srgb, var(--intent-color) 22%, #fff) 0%, #fff 85%);
  color: #2a2d2e;
  text-decoration: none;
}
.intent-tile__icon {
  font-size: 1.85rem;
  line-height: 1;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.08));
}
.intent-tile__label {
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
  color: #2a3649;
}

/* ===== Intent-picker modal ===== */
.intent-picker-modal {
  position: fixed;
  inset: 0;
  z-index: 100500;
  display: flex;
  align-items: center;
  justify-content: center;
}
.intent-picker-modal[hidden] {
  display: none;
}
.intent-picker-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  cursor: pointer;
}
.intent-picker-modal__panel {
  position: relative;
  background: #fff;
  border-radius: 18px;
  padding: 32px 28px 28px;
  max-width: 540px;
  width: calc(100% - 32px);
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  animation: intent-modal-in 0.22s ease;
}
.intent-picker-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
  cursor: pointer;
  color: #666;
  padding: 0;
  line-height: 1;
  border-radius: 50%;
  transition: color 0.15s, background 0.15s;
}
.intent-picker-modal__close:hover {
  color: #2a2d2e;
  background: #eee;
}
.intent-picker-modal__title {
  font-size: 1.35rem;
  font-weight: 700;
  margin-bottom: 6px;
  padding-right: 32px;
}
.intent-picker-modal__sub {
  color: #666;
  font-size: 0.9rem;
  margin-bottom: 20px;
}
.intent-picker-modal__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  grid-template-columns: repeat(4, 1fr);
}
.intent-picker-modal__item {
  margin: 0;
  padding: 0;
}
.intent-picker-modal__option {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 10px;
  border: 2px solid #e5e5e5;
  border-radius: 14px;
  text-decoration: none;
  color: #2a2d2e;
  background: #fff;
  text-align: center;
  transition: border-color 0.18s, background 0.18s, transform 0.15s;
}
.intent-picker-modal__option:hover, .intent-picker-modal__option:focus-visible {
  border-color: var(--intent-color, #28a1c5);
  background: color-mix(in srgb, var(--intent-color, #28a1c5) 8%, #fff);
  transform: translateY(-2px);
  color: #2a2d2e;
  text-decoration: none;
}
.intent-picker-modal__icon {
  font-size: 2rem;
  line-height: 1;
}
.intent-picker-modal__label {
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.2;
}

@keyframes intent-modal-in {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(8px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.banner--home .ontop {
  text-align: left;
}
.banner--home .ontop .container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.banner--home h1 {
  margin-bottom: 24px;
  text-align: left;
}
.banner--home .Filters {
  width: min(100%, 920px);
}

.breadcrumbs + .Business.Overview,
.backto + .Business.Overview {
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
}

.Business.Overview {
  padding-top: 30px;
  border-top: 2px solid #e5e5e5;
  margin-top: 30px;
  margin-bottom: 30px;
}
.Business.Overview:last-child {
  margin-bottom: 0;
}
@media (min-width: 1141px) {
  .Business.Overview .h2 {
    font-size: 1.625rem;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  .Business.Overview .h2 {
    font-size: 1.495rem;
  }
}
.Business.Overview .h2 > span {
  position: absolute;
  left: -9999px;
  top: 0;
}
@media (min-width: 1141px) {
  .Business.Overview .h1 {
    font-size: 1.6875rem;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  .Business.Overview .h1 {
    font-size: 1.5525rem;
  }
}
.Business.Overview .h3 {
  font-size: 1.25rem;
  margin-bottom: 0.9375rem;
}
.Business.Overview .cta > a {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  width: 100%;
  height: 100%;
}
@media (min-width: 1141px) {
  .Business.Overview .cta > a {
    padding: 25px;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  .Business.Overview .cta > a {
    padding: 20px;
  }
}
.Business.Overview .cta > a {
  font-weight: bold;
}
@media (min-width: 1141px) {
  .Business.Overview .cta > a {
    font-size: 1.1875rem;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  .Business.Overview .cta > a {
    font-size: 1.11625rem;
  }
}
.Business.Overview .cta > a {
  line-height: 1.1;
  font-family: "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
  color: #fff;
  min-height: 120px;
  border-radius: 16px 16px 16px 0;
}
.Business.Overview .cta > a span {
  font-size: 1.5em;
}
.Business.Overview .cta > a:hover, .Business.Overview .cta > a:focus {
  text-decoration: none;
  border-radius: 48px 48px 48px 0;
}
.Business.Overview > .block-grid.three-up {
  margin-bottom: 0;
}
.Business.Overview > .block-grid.Sleeping .Business.Detail:not(.facebook-item):not(.plattegrond-item) {
  background: #1E92CF;
  color: #fff;
  border: 0;
  border-radius: 0 0 16px 0;
  transition: all 0.3s ease-out;
}
.Business.Overview > .block-grid.Sleeping .Business.Detail:not(.facebook-item):not(.plattegrond-item):hover {
  border-radius: 0 0 0 0;
}
.Business.Overview .cta > a {
  background: #FDB818;
}
.Business.Overview:nth-of-type(2) .cta > a, .Business.Overview:nth-of-type(6) .cta > a {
  background: #F6882E;
}
.Business.Overview:nth-of-type(3) .cta > a, .Business.Overview:nth-of-type(7) .cta > a {
  background: #EE3823;
}
.Business.Overview:nth-of-type(4) .cta > a, .Business.Overview:nth-of-type(8) .cta > a {
  background: #B41F39;
}
.Business.Detail {
  background: none transparent;
  border: 2px solid #eee;
  border-radius: 0 0 0 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
}
.Business.Detail > figure {
  margin: 0;
  float: none;
  clear: both;
}
.Business.Detail > figure img {
  width: 100%;
}
.Business.Detail > .inner {
  padding: 15px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
}
.Business.Detail > .inner .rating {
  justify-self: flex-end;
  margin-top: auto;
  padding-top: 10px;
}
.Business.Detail > .inner h3 {
  margin-bottom: 9px;
  font-weight: normal;
}
@media (min-width: 1141px) {
  .Business.Detail > .inner h3 {
    font-size: 1.125rem;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  .Business.Detail > .inner h3 {
    font-size: 1.06875rem;
  }
}
.Business.Detail > .inner .Content {
  font-size: 13px;
  line-height: 1.3;
}
.Business.Detail > .inner .place {
  margin-top: 10px;
  display: block;
  line-height: 1.1;
  opacity: 0.7;
}
.Business.Detail > .inner .place:first-child {
  margin-bottom: 5px;
  margin-top: 0;
}
.Business.Detail > .inner .place {
  font-size: 14px;
}
.Business.Detail > .inner .aside {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
}
.Business.Detail > .inner .aside > .right {
  margin: 0 0 0 20px;
  padding: 15px 25px 15px 15px;
  background: #eee;
  font-size: 14px;
}
.Business.Detail > .inner .aside > .right {
  max-width: 50%;
}
.Business.Detail.facebook-item {
  color: #fff;
  background: url(../images/facebook.png) no-repeat right bottom #3b5b98;
  background-size: 180px auto;
}
.Business.Detail.facebook-item h3 {
  color: #fff;
}
.Business.Detail.facebook-item .inner {
  padding: 30px;
  background: none transparent;
}
.Business.Detail.facebook-item .Content {
  padding-bottom: 85px;
  font-size: 86%;
}
.Business.Detail.plattegrond-item {
  color: #fff;
  background: url(../images/plattegrond.jpg) no-repeat right bottom #EE3823;
  background-size: 180px auto;
}
.Business.Detail.plattegrond-item h3 {
  color: #fff;
}
.Business.Detail.plattegrond-item .inner {
  padding: 30px;
  background: none transparent;
}
.Business.Detail.plattegrond-item .Content {
  padding-bottom: 85px;
  font-size: 86%;
}

body.category #topMapExtended + .mainrow {
  position: relative;
  z-index: 570;
  background: #fff;
  min-height: 41px;
  padding-top: 20px;
}
@media (min-width: 768px) {
  body.category #topMapExtended + .mainrow {
    padding: 40px 25px;
    margin: -40px -30px 0;
  }
}
body.category #topMapExtended + .mainrow > .maincolumn {
  position: static;
}
body.category #topMapExtended + .mainrow > .maincolumn > h1 {
  position: absolute;
  color: #fff;
  text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.7);
  font-weight: bold;
  bottom: 100%;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  body.category #topMapExtended + .mainrow > .maincolumn > h1 {
    padding-right: 150px;
  }
}
body.category #topMapExtended + .mainrow > .maincolumn > h1 span {
  font-size: 69%;
  white-space: nowrap;
}
body.category #topMapExtended + .mainrow > .maincolumn > .backto {
  position: absolute;
  right: 0;
  bottom: 100%;
  margin-bottom: 15px;
  padding: 0.7em 0;
  display: block;
  border: 0;
  background: none transparent;
  text-transform: uppercase;
  font-weight: Bold;
  font-size: 12px;
  text-decoration: none !important;
}
body.category #topMapExtended + .mainrow > .maincolumn > .backto::before {
  content: "\ea44";
  font-family: "icomoon";
  display: inline-block;
  margin-right: 5px;
}
body.category #topMapExtended + .mainrow > .maincolumn > .backto:hover, body.category #topMapExtended + .mainrow > .maincolumn > .backto:focus {
  opacity: 0.5;
}
@media (max-width: 991px) {
  body.category #topMapExtended + .mainrow > .maincolumn > .backto {
    right: 20px;
    margin-bottom: 10px;
  }
}
@media (max-width: 767px) {
  body.category #topMapExtended + .mainrow > .maincolumn > .backto {
    display: none;
  }
}
body.category #topMapExtended + .mainrow > .maincolumn > .custom-button.fwm {
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 768px) {
  body.category #topMapExtended + .mainrow > .sidecolumn {
    padding: 0 30px;
  }
}
body.category #topMapExtended + .mainrow > .sidecolumn .taxonomy-description {
  line-height: 1.35;
}
body.category #topMapExtended + .mainrow > .sidecolumn .taxonomy-description p[style="text-align: center;"] {
  text-align: left !important;
}
@media (max-width: 767px) {
  body.category #topMapExtended + .mainrow > .sidecolumn {
    padding-top: 20px;
  }
}
body.category .mainrow > .maincolumn > .custom-button.fwm {
  text-align: center;
}

@media (min-width: 768px) {
  .Category.Overview > .block-grid > li.advert:not(:last-child) {
    margin-bottom: 20px;
  }
}
@media (max-width: 767px) {
  .Category.Overview > .block-grid {
    margin: 0;
  }
  .Category.Overview > .block-grid > li {
    padding: 15px 0 0;
    margin: 0;
    width: 100%;
    float: none;
    clear: both;
  }
  .Category.Overview > .block-grid > li.advert {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .Category.Overview > .block-grid > li article {
    margin-bottom: 0;
  }
  .Category.Overview > .block-grid > li.fietsroutecta {
    padding-right: 0;
  }
}
.Category.Detail {
  position: relative;
}
.Category.Detail > figure {
  float: none;
  clear: both;
  width: 100%;
  position: relative;
}
.Category.Detail > figure img {
  width: 100%;
}
.Category.Detail > figure::before {
  content: "";
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  background: -moz-linear-gradient(15deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 70%);
  background: -webkit-linear-gradient(15deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 70%);
  background: linear-gradient(15deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 70%);
  display: block;
  position: absolute;
}
.Category.Detail > figure::after {
  width: 20vw;
  height: 20vw;
  transform-origin: center center;
  left: 100%;
  top: 100%;
  transform: translate(-50%, -50%) rotate(45deg);
  position: absolute;
  display: block;
  background: red;
  content: "";
  z-index: 3;
}
@media (min-width: 650px) {
  .Category.Detail > figure::after {
    width: 130px;
    height: 130px;
  }
}
@media (min-width: 768px) {
  .Category.Detail > figure::after {
    width: 80px;
    height: 80px;
  }
}
.Category.Detail > figure + main {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 15px;
  color: #fff;
  z-index: 4;
}
.Category.Detail > figure + main::after {
  content: "\f061";
  font-family: "FontAwesome";
  display: block;
  font-size: 3.3846153846vw;
  line-height: 1.3636363636em;
  color: #fff;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 6.9230769231vw;
  padding: 2.3076923077vw 0;
  text-align: center;
}
@media (min-width: 650px) {
  .Category.Detail > figure + main::after {
    font-size: 22px;
    line-height: 30px;
    width: 45px;
    padding: 15px 0;
  }
}
@media (min-width: 768px) {
  .Category.Detail > figure + main::after {
    font-size: 15px;
    line-height: 20px;
    width: 30px;
    padding: 10px 0;
  }
}
.Category.Detail > main {
  line-height: 1.2;
  font-size: 3.2307692308vw;
}
@media (min-width: 650px) {
  .Category.Detail > main {
    font-size: 21px;
  }
}
@media (min-width: 768px) {
  .Category.Detail > main {
    font-size: 14px;
  }
}
.Category.Detail > main > h2 {
  margin-bottom: 2px;
  font-size: 5.5384615385vw;
}
@media (min-width: 650px) {
  .Category.Detail > main > h2 {
    font-size: 36px;
  }
}
@media (min-width: 768px) {
  .Category.Detail > main > h2 {
    font-size: 22px;
  }
}
.Category.Detail > main > h2 a, .Category.Detail > main > h2 a:hover, .Category.Detail > main > h2 a:focus {
  color: inherit;
  text-decoration: none;
}
.Category.Detail > main p:last-child {
  margin-bottom: 0;
}
.Category.Detail > main > p {
  max-width: 100%;
  width: 50.7692307692vw;
  padding-right: 20px;
}
@media (min-width: 650px) {
  .Category.Detail > main > p {
    width: 330px;
  }
}

.Fietsroute.CTA, .GoogleEvents.CTA {
  position: relative;
}
.Fietsroute.CTA > figure, .GoogleEvents.CTA > figure {
  margin: 0 !important;
  float: none;
  clear: both;
  display: block;
  width: 100%;
  max-width: 100%;
}
.Fietsroute.CTA > figure img, .GoogleEvents.CTA > figure img {
  width: 100%;
}
.Fietsroute.CTA > .inner, .GoogleEvents.CTA > .inner {
  padding: 15px;
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
}
.Fietsroute.CTA > .inner > h3, .Fietsroute.CTA > .inner > h5, .GoogleEvents.CTA > .inner > h3, .GoogleEvents.CTA > .inner > h5 {
  color: #fff;
  text-shadow: 0 0 7px rgba(0, 0, 0, 0.25);
}
.Fietsroute.CTA > .inner > h3 small, .Fietsroute.CTA > .inner > h5 small, .GoogleEvents.CTA > .inner > h3 small, .GoogleEvents.CTA > .inner > h5 small {
  color: #fff;
}
.Fietsroute.CTA > .inner > h3 a, .Fietsroute.CTA > .inner > h5 a, .GoogleEvents.CTA > .inner > h3 a, .GoogleEvents.CTA > .inner > h5 a {
  color: inherit;
  text-decoration: none;
}
.Fietsroute.CTA > .inner > h3, .GoogleEvents.CTA > .inner > h3 {
  font-size: 1.5rem;
  margin-bottom: 5px;
  line-height: 1.1;
}
@media (max-width: 767px) {
  .Fietsroute.CTA > .inner > h3, .GoogleEvents.CTA > .inner > h3 {
    font-size: 7.1428571429vw;
    margin-bottom: 1.4285714286vw;
  }
}
.Fietsroute.CTA > .inner > h5, .GoogleEvents.CTA > .inner > h5 {
  font-size: 18px;
  font-weight: normal;
  line-height: 1.1;
  margin-bottom: 0;
}
.Fietsroute.CTA > .inner > h5::after, .GoogleEvents.CTA > .inner > h5::after {
  content: "\f105";
  font-family: "FontAwesome";
  display: inline-block;
  zoom: 1;
  *display: inline;
  margin-left: 5px;
  font-weight: normal;
}
@media (max-width: 767px) {
  .Fietsroute.CTA > .inner > h5, .GoogleEvents.CTA > .inner > h5 {
    font-size: 4.5714285714vw;
  }
}

.taxonomy-description ~ .Fietsroute.CTA,
.taxonomy-description ~ .GoogleEvents.CTA {
  margin-top: 30px;
}

.CTA.Detail {
  background: #28a1c5;
  color: #fff;
  font-size: 0;
  line-height: 0;
  letter-spacing: 0;
}
.CTA.Detail > figure, .CTA.Detail > div:not(.overlay_options):not(.pagebuilder_options) {
  display: inline-block;
  vertical-align: middle;
  float: none;
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
}
.CTA.Detail > figure {
  width: 40%;
}
.CTA.Detail > figure img {
  width: 100%;
}
.CTA.Detail > div:not(.overlay_options):not(.pagebuilder_options) {
  width: 60%;
}
.CTA.Detail > figure {
  padding-left: 20px;
}
@media (min-width: 1141px) {
  .CTA.Detail > .inner {
    padding: 25px;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  .CTA.Detail > .inner {
    padding: 20px;
  }
}
@media (min-width: 1141px) {
  .CTA.Detail > .inner > h3 {
    font-size: 1.3125rem;
  }
}
@media (min-width: 992px) and (max-width: 1140px) {
  .CTA.Detail > .inner > h3 {
    font-size: 1.2075rem;
  }
}
.CTA.Detail > .inner > h3 {
  font-weight: bold;
  margin-bottom: 10px;
}
.CTA.Detail > .inner nav .btn-inline {
  color: #fff;
}

/* ──────────────────────────────────────────────────────────────────────────
   Curated Journey — legacy page harmonization (category/tag/plaats/single)
   Keeps existing layout, upgrades visual style to the redesign system.
   ────────────────────────────────────────────────────────────────────────── */
body.archive.category,
body.archive.tag,
body.archive.tax-soort_tag,
body.single-plaats,
body.single-post,
body.page-template-default:not(.home) {
  background: radial-gradient(1200px 500px at 100% -5%, rgba(169, 237, 255, 0.35), rgba(169, 237, 255, 0)), linear-gradient(180deg, #f8f9f9 0%, #f5f7f7 100%);
}
body.archive.category #body-container,
body.archive.tag #body-container,
body.archive.tax-soort_tag #body-container,
body.single-plaats #body-container,
body.single-post #body-container,
body.page-template-default:not(.home) #body-container {
  padding-bottom: 0;
}
body.archive.category #main.site-main,
body.archive.tag #main.site-main,
body.archive.tax-soort_tag #main.site-main,
body.single-plaats #main.site-main,
body.single-post #main.site-main,
body.page-template-default:not(.home) #main.site-main {
  padding-top: 20px;
  padding-bottom: 52px;
}
body.archive.category .breadcrumbs_c,
body.archive.tag .breadcrumbs_c,
body.archive.tax-soort_tag .breadcrumbs_c,
body.single-plaats .breadcrumbs_c,
body.single-post .breadcrumbs_c,
body.page-template-default:not(.home) .breadcrumbs_c {
  margin-bottom: 14px;
}
body.archive.category .breadcrumbs,
body.archive.tag .breadcrumbs,
body.archive.tax-soort_tag .breadcrumbs,
body.single-plaats .breadcrumbs,
body.single-post .breadcrumbs,
body.page-template-default:not(.home) .breadcrumbs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid #d8dee0;
  color: #4d5659;
  font-size: 12px;
  line-height: 1.4;
}
body.archive.category .taxonomy-description,
body.archive.category .Heading,
body.archive.tag .taxonomy-description,
body.archive.tag .Heading,
body.archive.tax-soort_tag .taxonomy-description,
body.archive.tax-soort_tag .Heading,
body.single-plaats .taxonomy-description,
body.single-plaats .Heading,
body.single-post .taxonomy-description,
body.single-post .Heading,
body.page-template-default:not(.home) .taxonomy-description,
body.page-template-default:not(.home) .Heading {
  background: #ffffff;
  border: 1px solid #d8dee0;
  border-radius: 20px;
  box-shadow: 0 1px 2px rgba(26, 28, 28, 0.04);
  padding: 20px 22px;
}
body.archive.category .Heading,
body.archive.tag .Heading,
body.archive.tax-soort_tag .Heading,
body.single-plaats .Heading,
body.single-post .Heading,
body.page-template-default:not(.home) .Heading {
  margin-bottom: 24px;
}
body.archive.category .Heading h1,
body.archive.tag .Heading h1,
body.archive.tax-soort_tag .Heading h1,
body.single-plaats .Heading h1,
body.single-post .Heading h1,
body.page-template-default:not(.home) .Heading h1 {
  color: #1a1c1c;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  margin-bottom: 12px;
}
body.archive.category > .row > .maincolumn > h1,
body.archive.category .maincolumn > h1,
body.archive.tag > .row > .maincolumn > h1,
body.archive.tag .maincolumn > h1,
body.archive.tax-soort_tag > .row > .maincolumn > h1,
body.archive.tax-soort_tag .maincolumn > h1,
body.single-plaats > .row > .maincolumn > h1,
body.single-plaats .maincolumn > h1,
body.single-post > .row > .maincolumn > h1,
body.single-post .maincolumn > h1,
body.page-template-default:not(.home) > .row > .maincolumn > h1,
body.page-template-default:not(.home) .maincolumn > h1 {
  color: #1a1c1c;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  margin: 0 0 14px;
}
body.archive.category .Intro,
body.archive.category .taxonomy-description p,
body.archive.tag .Intro,
body.archive.tag .taxonomy-description p,
body.archive.tax-soort_tag .Intro,
body.archive.tax-soort_tag .taxonomy-description p,
body.single-plaats .Intro,
body.single-plaats .taxonomy-description p,
body.single-post .Intro,
body.single-post .taxonomy-description p,
body.page-template-default:not(.home) .Intro,
body.page-template-default:not(.home) .taxonomy-description p {
  color: #4d5659;
  font-size: 16px;
  line-height: 1.6;
}
body.archive.category .Business.Overview,
body.archive.category .Category.Overview,
body.archive.tag .Business.Overview,
body.archive.tag .Category.Overview,
body.archive.tax-soort_tag .Business.Overview,
body.archive.tax-soort_tag .Category.Overview,
body.single-plaats .Business.Overview,
body.single-plaats .Category.Overview,
body.single-post .Business.Overview,
body.single-post .Category.Overview,
body.page-template-default:not(.home) .Business.Overview,
body.page-template-default:not(.home) .Category.Overview {
  margin: 36px 0 0;
  padding: 15px 0 0;
}
body.archive.category .Business.Overview > h2,
body.archive.category .Business.Overview > h3,
body.archive.category .Business.Overview .h2,
body.archive.category .Category.Overview > h2,
body.archive.category .Category.Overview > h3,
body.archive.category .Category.Overview .h2,
body.archive.tag .Business.Overview > h2,
body.archive.tag .Business.Overview > h3,
body.archive.tag .Business.Overview .h2,
body.archive.tag .Category.Overview > h2,
body.archive.tag .Category.Overview > h3,
body.archive.tag .Category.Overview .h2,
body.archive.tax-soort_tag .Business.Overview > h2,
body.archive.tax-soort_tag .Business.Overview > h3,
body.archive.tax-soort_tag .Business.Overview .h2,
body.archive.tax-soort_tag .Category.Overview > h2,
body.archive.tax-soort_tag .Category.Overview > h3,
body.archive.tax-soort_tag .Category.Overview .h2,
body.single-plaats .Business.Overview > h2,
body.single-plaats .Business.Overview > h3,
body.single-plaats .Business.Overview .h2,
body.single-plaats .Category.Overview > h2,
body.single-plaats .Category.Overview > h3,
body.single-plaats .Category.Overview .h2,
body.single-post .Business.Overview > h2,
body.single-post .Business.Overview > h3,
body.single-post .Business.Overview .h2,
body.single-post .Category.Overview > h2,
body.single-post .Category.Overview > h3,
body.single-post .Category.Overview .h2,
body.page-template-default:not(.home) .Business.Overview > h2,
body.page-template-default:not(.home) .Business.Overview > h3,
body.page-template-default:not(.home) .Business.Overview .h2,
body.page-template-default:not(.home) .Category.Overview > h2,
body.page-template-default:not(.home) .Category.Overview > h3,
body.page-template-default:not(.home) .Category.Overview .h2 {
  color: #1a1c1c;
  font-size: clamp(24px, 3.2vw, 36px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  margin-bottom: 18px;
}
body.archive.category .Business.Detail,
body.archive.category .Category.Detail,
body.archive.tag .Business.Detail,
body.archive.tag .Category.Detail,
body.archive.tax-soort_tag .Business.Detail,
body.archive.tax-soort_tag .Category.Detail,
body.single-plaats .Business.Detail,
body.single-plaats .Category.Detail,
body.single-post .Business.Detail,
body.single-post .Category.Detail,
body.page-template-default:not(.home) .Business.Detail,
body.page-template-default:not(.home) .Category.Detail {
  border-radius: 18px;
  border: 1px solid #d8dee0;
  box-shadow: 0 1px 2px rgba(26, 28, 28, 0.03);
  overflow: hidden;
  background: #ffffff;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
body.archive.category .Business.Detail:hover, body.archive.category .Business.Detail:focus-within,
body.archive.category .Category.Detail:hover,
body.archive.category .Category.Detail:focus-within,
body.archive.tag .Business.Detail:hover,
body.archive.tag .Business.Detail:focus-within,
body.archive.tag .Category.Detail:hover,
body.archive.tag .Category.Detail:focus-within,
body.archive.tax-soort_tag .Business.Detail:hover,
body.archive.tax-soort_tag .Business.Detail:focus-within,
body.archive.tax-soort_tag .Category.Detail:hover,
body.archive.tax-soort_tag .Category.Detail:focus-within,
body.single-plaats .Business.Detail:hover,
body.single-plaats .Business.Detail:focus-within,
body.single-plaats .Category.Detail:hover,
body.single-plaats .Category.Detail:focus-within,
body.single-post .Business.Detail:hover,
body.single-post .Business.Detail:focus-within,
body.single-post .Category.Detail:hover,
body.single-post .Category.Detail:focus-within,
body.page-template-default:not(.home) .Business.Detail:hover,
body.page-template-default:not(.home) .Business.Detail:focus-within,
body.page-template-default:not(.home) .Category.Detail:hover,
body.page-template-default:not(.home) .Category.Detail:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 1px 2px rgba(26, 28, 28, 0.05), 0 18px 36px rgba(26, 28, 28, 0.08);
}
body.archive.category .Business.Detail figure,
body.archive.category .Category.Detail figure,
body.archive.tag .Business.Detail figure,
body.archive.tag .Category.Detail figure,
body.archive.tax-soort_tag .Business.Detail figure,
body.archive.tax-soort_tag .Category.Detail figure,
body.single-plaats .Business.Detail figure,
body.single-plaats .Category.Detail figure,
body.single-post .Business.Detail figure,
body.single-post .Category.Detail figure,
body.page-template-default:not(.home) .Business.Detail figure,
body.page-template-default:not(.home) .Category.Detail figure {
  margin: 0;
  background: #f3f5f6;
}
body.archive.category .quicklinks,
body.archive.tag .quicklinks,
body.archive.tax-soort_tag .quicklinks,
body.single-plaats .quicklinks,
body.single-post .quicklinks,
body.page-template-default:not(.home) .quicklinks {
  margin-top: 18px;
  border-radius: 18px;
  border: 1px solid #d8dee0;
  background: #ffffff;
  padding: 16px;
}
body.archive.category .quicklinks .h3,
body.archive.tag .quicklinks .h3,
body.archive.tax-soort_tag .quicklinks .h3,
body.single-plaats .quicklinks .h3,
body.single-post .quicklinks .h3,
body.page-template-default:not(.home) .quicklinks .h3 {
  margin-bottom: 12px;
  color: #1a1c1c;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
body.archive.category .quicklinks .flex-grid li a,
body.archive.tag .quicklinks .flex-grid li a,
body.archive.tax-soort_tag .quicklinks .flex-grid li a,
body.single-plaats .quicklinks .flex-grid li a,
body.single-post .quicklinks .flex-grid li a,
body.page-template-default:not(.home) .quicklinks .flex-grid li a {
  border-radius: 999px;
  border: 1px solid #d8dee0;
  padding: 8px 13px;
  background: #fff;
  color: #1a1c1c;
  transition: border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
body.archive.category .quicklinks .flex-grid li a:hover, body.archive.category .quicklinks .flex-grid li a:focus-visible,
body.archive.tag .quicklinks .flex-grid li a:hover,
body.archive.tag .quicklinks .flex-grid li a:focus-visible,
body.archive.tax-soort_tag .quicklinks .flex-grid li a:hover,
body.archive.tax-soort_tag .quicklinks .flex-grid li a:focus-visible,
body.single-plaats .quicklinks .flex-grid li a:hover,
body.single-plaats .quicklinks .flex-grid li a:focus-visible,
body.single-post .quicklinks .flex-grid li a:hover,
body.single-post .quicklinks .flex-grid li a:focus-visible,
body.page-template-default:not(.home) .quicklinks .flex-grid li a:hover,
body.page-template-default:not(.home) .quicklinks .flex-grid li a:focus-visible {
  border-color: #006879;
  color: #006879;
  transform: translateY(-1px);
  text-decoration: none;
}
body.archive.category .tag-links a,
body.archive.category .soort-tag-links a,
body.archive.tag .tag-links a,
body.archive.tag .soort-tag-links a,
body.archive.tax-soort_tag .tag-links a,
body.archive.tax-soort_tag .soort-tag-links a,
body.single-plaats .tag-links a,
body.single-plaats .soort-tag-links a,
body.single-post .tag-links a,
body.single-post .soort-tag-links a,
body.page-template-default:not(.home) .tag-links a,
body.page-template-default:not(.home) .soort-tag-links a {
  border-radius: 999px;
  border: 1px solid rgba(0, 104, 121, 0.24);
  background: rgba(169, 237, 255, 0.2);
  color: #006879;
  font-weight: 600;
  padding: 6px 12px;
}
body.archive.category .tag-links a:hover, body.archive.category .tag-links a:focus-visible,
body.archive.category .soort-tag-links a:hover,
body.archive.category .soort-tag-links a:focus-visible,
body.archive.tag .tag-links a:hover,
body.archive.tag .tag-links a:focus-visible,
body.archive.tag .soort-tag-links a:hover,
body.archive.tag .soort-tag-links a:focus-visible,
body.archive.tax-soort_tag .tag-links a:hover,
body.archive.tax-soort_tag .tag-links a:focus-visible,
body.archive.tax-soort_tag .soort-tag-links a:hover,
body.archive.tax-soort_tag .soort-tag-links a:focus-visible,
body.single-plaats .tag-links a:hover,
body.single-plaats .tag-links a:focus-visible,
body.single-plaats .soort-tag-links a:hover,
body.single-plaats .soort-tag-links a:focus-visible,
body.single-post .tag-links a:hover,
body.single-post .tag-links a:focus-visible,
body.single-post .soort-tag-links a:hover,
body.single-post .soort-tag-links a:focus-visible,
body.page-template-default:not(.home) .tag-links a:hover,
body.page-template-default:not(.home) .tag-links a:focus-visible,
body.page-template-default:not(.home) .soort-tag-links a:hover,
body.page-template-default:not(.home) .soort-tag-links a:focus-visible {
  border-color: #006879;
  background: rgba(169, 237, 255, 0.35);
  text-decoration: none;
}
@media (max-width: 767px) {
  body.archive.category #main.site-main,
  body.archive.tag #main.site-main,
  body.archive.tax-soort_tag #main.site-main,
  body.single-plaats #main.site-main,
  body.single-post #main.site-main,
  body.page-template-default:not(.home) #main.site-main {
    padding-top: 0px;
  }
  body.archive.category .taxonomy-description,
  body.archive.category .Heading,
  body.archive.tag .taxonomy-description,
  body.archive.tag .Heading,
  body.archive.tax-soort_tag .taxonomy-description,
  body.archive.tax-soort_tag .Heading,
  body.single-plaats .taxonomy-description,
  body.single-plaats .Heading,
  body.single-post .taxonomy-description,
  body.single-post .Heading,
  body.page-template-default:not(.home) .taxonomy-description,
  body.page-template-default:not(.home) .Heading {
    border-radius: 16px;
    padding: 16px;
  }
  body.archive.category .quicklinks,
  body.archive.tag .quicklinks,
  body.archive.tax-soort_tag .quicklinks,
  body.single-plaats .quicklinks,
  body.single-post .quicklinks,
  body.page-template-default:not(.home) .quicklinks {
    border-radius: 14px;
    padding: 12px;
  }
}

/* ──────────────────────────────────────────────────────────────────────────
   Dagplanning Archive — "The Curated Journey" design system
   Screen 12: editorial hero, mood filter, redactiekeuze + grid + CTA.
   ────────────────────────────────────────────────────────────────────────── */
.dagplanning-archive {
  background: #f9f9f9;
  color: #1a1c1c;
  font-family: system-ui, -apple-system, sans-serif;
  padding-bottom: 64px;
}
.dagplanning-archive .container, .dagplanning-archive__wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}
@media (max-width: 767px) {
  .dagplanning-archive .container, .dagplanning-archive__wrap {
    padding: 0 16px;
  }
}
.dagplanning-archive {
  /* ── Hero ─────────────────────────────────────────────────────────── */
}
.dagplanning-archive__hero {
  background: #a9edff;
  position: relative;
  overflow: hidden;
}
.dagplanning-archive__hero-inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 72px 32px 56px;
  text-align: center;
}
@media (max-width: 991px) {
  .dagplanning-archive__hero-inner {
    padding: 48px 24px 40px;
  }
}
@media (max-width: 767px) {
  .dagplanning-archive__hero-inner {
    padding: 32px 16px 28px;
  }
}
.dagplanning-archive__hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.dagplanning-archive__hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  color: #006879;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.dagplanning-archive__hero-eyebrow svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}
.dagplanning-archive__hero-title {
  font-weight: 800;
  font-size: clamp(34px, 5.2vw, 64px);
  line-height: 1.02;
  letter-spacing: -2.4px;
  margin: 0 0 18px;
  color: #1a1c1c;
}
.dagplanning-archive__hero-title em,
.dagplanning-archive__hero-title .accent {
  color: #006879;
  font-style: italic;
}
.dagplanning-archive__hero-title em {
  display: block;
}
.dagplanning-archive__hero-sub {
  font-size: 18px;
  color: #3d494c;
  line-height: 1.55;
  max-width: 560px;
  margin: 0 auto 28px;
}
@media (max-width: 767px) {
  .dagplanning-archive__hero-sub {
    font-size: 16px;
  }
}
.dagplanning-archive__hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}
.dagplanning-archive__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 24px;
  border-radius: 999px;
  border: none;
  font-family: "Work Sans", system-ui, sans-serif;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.15s, box-shadow 0.15s, background 0.15s;
}
@media (max-width: 767px) {
  .dagplanning-archive__btn {
    min-width: 220px;
  }
}
.dagplanning-archive__btn:hover, .dagplanning-archive__btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0, 104, 121, 0.18);
  outline: none;
  text-decoration: none;
}
.dagplanning-archive__btn--primary {
  background: #006879;
  color: #ffffff;
}
.dagplanning-archive__btn--primary:hover, .dagplanning-archive__btn--primary:focus-visible {
  color: #ffffff;
}
.dagplanning-archive__btn--secondary {
  background: #ffffff;
  color: #006879;
  border: 1px solid #bcc9cd;
}
.dagplanning-archive__btn--secondary:hover, .dagplanning-archive__btn--secondary:focus-visible {
  color: #006879;
}
.dagplanning-archive__btn--ghost {
  background: #ffffff;
  color: #006879;
  border: 1px solid #bcc9cd;
}
.dagplanning-archive__btn--cta {
  background: #ffffff;
  color: #006879;
}
.dagplanning-archive__btn--cta:hover, .dagplanning-archive__btn--cta:focus-visible {
  color: #006879;
}
.dagplanning-archive__btn svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
  flex-shrink: 0;
}
.dagplanning-archive {
  /* ── Mood filter ──────────────────────────────────────────────────── */
}
.dagplanning-archive__mood {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 32px 0;
}
@media (max-width: 767px) {
  .dagplanning-archive__mood {
    padding: 32px 16px 0;
  }
}
.dagplanning-archive__mood-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.dagplanning-archive__section-kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #006879;
  text-transform: uppercase;
  margin: 0 0 8px;
}
.dagplanning-archive__section-title {
  font-weight: 800;
  font-size: 32px;
  letter-spacing: -0.8px;
  line-height: 1.1;
  color: #1a1c1c;
  margin: 0;
}
.dagplanning-archive__section-title em, .dagplanning-archive__section-title .accent {
  color: #006879;
  font-style: italic;
}
@media (max-width: 767px) {
  .dagplanning-archive__section-title {
    font-size: 26px;
  }
}
.dagplanning-archive__mood-count {
  font-size: 13px;
  color: #6d797d;
}
.dagplanning-archive__mood-pills {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.dagplanning-archive__mood-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  border: none;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.15s, filter 0.15s, box-shadow 0.15s;
}
.dagplanning-archive__mood-pill:hover, .dagplanning-archive__mood-pill:focus-visible {
  transform: translateY(-1px);
  filter: brightness(0.95);
  box-shadow: 0 6px 18px rgba(26, 28, 28, 0.08);
  outline: none;
  text-decoration: none;
}
.dagplanning-archive__mood-pill-icon {
  font-size: 15px;
  line-height: 1;
  display: inline-flex;
}
.dagplanning-archive {
  /* thema-specifieke kleurvariaties — sleutels = intent-slugs */
}
.dagplanning-archive__mood-pill--romantisch {
  background: #fde0e3;
  color: #a3364a;
}
.dagplanning-archive__mood-pill--met-kinderen {
  background: #ffe0ec;
  color: #a33369;
}
.dagplanning-archive__mood-pill--slecht-weer {
  background: #dde6ff;
  color: #3b4f78;
}
.dagplanning-archive__mood-pill--actief {
  background: #d8f1e3;
  color: #1f6f3a;
}
.dagplanning-archive__mood-pill--budget {
  background: #fdeccb;
  color: #7a5610;
}
.dagplanning-archive__mood-pill--luxe {
  background: #ece0ff;
  color: #4f2ea5;
}
.dagplanning-archive__mood-pill {
  /* Legacy keys — blijven bestaan voor kaarten met oude soort_tags */
}
.dagplanning-archive__mood-pill--kinderen {
  background: #cdeed7;
  color: #1f6f3a;
}
.dagplanning-archive__mood-pill--buitenlucht {
  background: #fdec98;
  color: #5a4a00;
}
.dagplanning-archive__mood-pill--cultuur {
  background: #a9edff;
  color: #006879;
}
.dagplanning-archive__mood-pill--regen {
  background: #dde6ff;
  color: #3b4f78;
}
.dagplanning-archive__mood-pill--culinair {
  background: #ffd6df;
  color: #7a1f3a;
}
.dagplanning-archive__mood-pill--wellness {
  background: #bff0ec;
  color: #0f5a5e;
}
.dagplanning-archive__mood-pill--default {
  background: #eeeeee;
  color: #3d494c;
}
.dagplanning-archive {
  /* ── Featured / Redactiekeuze card ────────────────────────────────── */
}
.dagplanning-archive__featured {
  max-width: 1280px;
  margin: 40px auto 0;
  padding: 0 32px;
}
@media (max-width: 767px) {
  .dagplanning-archive__featured {
    padding: 0 16px;
    margin-top: 32px;
  }
}
.dagplanning-archive__featured-card {
  background: #ffffff;
  border-radius: 28px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  box-shadow: 0 1px 2px rgba(26, 28, 28, 0.04);
}
@media (max-width: 900px) {
  .dagplanning-archive__featured-card {
    grid-template-columns: 1fr;
  }
}
.dagplanning-archive__featured-media {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #00a4be, #006879);
}
@media (max-width: 900px) {
  .dagplanning-archive__featured-media {
    aspect-ratio: 9/7;
  }
}
.dagplanning-archive__featured-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.dagplanning-archive__featured-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  background: #be003a;
  color: #ffffff;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.dagplanning-archive__featured-body {
  padding: 40px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 767px) {
  .dagplanning-archive__featured-body {
    padding: 28px 24px;
  }
}
.dagplanning-archive__featured-eyebrow {
  font-size: 12px;
  color: #6d797d;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0 0 12px;
}
.dagplanning-archive__featured-title {
  font-weight: 800;
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -1.2px;
  margin: 0 0 16px;
  color: #1a1c1c;
}
.dagplanning-archive__featured-title em, .dagplanning-archive__featured-title .accent {
  color: #be003a;
  font-style: italic;
}
@media (max-width: 767px) {
  .dagplanning-archive__featured-title {
    font-size: 26px;
  }
}
.dagplanning-archive__featured-link {
  color: inherit;
  text-decoration: none;
}
.dagplanning-archive__featured-link:hover, .dagplanning-archive__featured-link:focus-visible {
  color: inherit;
  text-decoration: none;
}
.dagplanning-archive__featured-intro {
  font-size: 15px;
  color: #3d494c;
  line-height: 1.55;
  margin: 0 0 24px;
}
.dagplanning-archive__featured-timeline {
  display: flex;
  gap: 10px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.dagplanning-archive__featured-timeline span {
  font-size: 11px;
  color: #006879;
  font-weight: 700;
  padding: 4px 10px;
  background: #a9edff;
  border-radius: 8px;
}
.dagplanning-archive {
  /* ── Grid van dagplanningen ───────────────────────────────────────── */
}
.dagplanning-archive__list-wrap {
  max-width: 1280px;
  margin: 64px auto 0;
  padding: 0 32px;
}
@media (max-width: 767px) {
  .dagplanning-archive__list-wrap {
    padding: 0 16px;
    margin-top: 40px;
  }
}
.dagplanning-archive__list-head {
  margin-bottom: 24px;
}
.dagplanning-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 991px) {
  .dagplanning-archive__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .dagplanning-archive__grid {
    grid-template-columns: 1fr;
  }
}
.dagplanning-archive__card {
  background: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  list-style: none;
  box-shadow: 0 1px 2px rgba(26, 28, 28, 0.04);
  transition: transform 0.18s, box-shadow 0.18s;
  color: inherit;
}
.dagplanning-archive__card:hover, .dagplanning-archive__card:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 1px 2px rgba(26, 28, 28, 0.04), 0 24px 48px rgba(26, 28, 28, 0.05);
}
.dagplanning-archive__card.showPointer {
  cursor: pointer;
}
.dagplanning-archive__card-media {
  aspect-ratio: 16/10;
  max-height: 200px;
  position: relative;
  background: linear-gradient(135deg, #00a4be, #006879);
  overflow: hidden;
}
.dagplanning-archive__card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.dagplanning-archive__card-mood {
  position: absolute;
  top: 12px;
  left: 12px;
  color: #ffffff;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: #006879;
}
.dagplanning-archive__card-bookmark {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #1a1c1c;
  transition: transform 0.15s, background 0.15s;
}
.dagplanning-archive__card-bookmark svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.dagplanning-archive__card-bookmark:hover, .dagplanning-archive__card-bookmark:focus-visible {
  background: #ffffff;
  outline: none;
}
.dagplanning-archive__card-body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.dagplanning-archive__card-region {
  font-size: 11px;
  color: #6d797d;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  margin: 0 0 8px;
}
.dagplanning-archive__card-title {
  font-weight: 700;
  font-size: 19px;
  line-height: 1.25;
  letter-spacing: -0.4px;
  margin: 0 0 14px;
  color: #1a1c1c;
}
.dagplanning-archive__card-title a {
  color: inherit;
  text-decoration: none;
}
.dagplanning-archive__card-title a:hover, .dagplanning-archive__card-title a:focus-visible {
  color: #006879;
}
.dagplanning-archive__card-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: auto;
  font-size: 12px;
  color: #3d494c;
}
.dagplanning-archive__card-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.dagplanning-archive__card-meta svg {
  width: 14px;
  height: 14px;
  fill: #6d797d;
  flex-shrink: 0;
}
.dagplanning-archive {
  /* ── Empty state ──────────────────────────────────────────────────── */
}
.dagplanning-archive__empty {
  text-align: center;
  padding: 48px 24px;
  background: #ffffff;
  border-radius: 24px;
  color: #3d494c;
  box-shadow: 0 1px 2px rgba(26, 28, 28, 0.04);
}
.dagplanning-archive {
  /* ── Load more ────────────────────────────────────────────────────── */
}
.dagplanning-archive__more {
  display: flex;
  justify-content: center;
  margin-top: 36px;
}
.dagplanning-archive {
  /* ── CTA strip ────────────────────────────────────────────────────── */
}
.dagplanning-archive__cta {
  max-width: 1280px;
  margin: 80px auto 0;
  padding: 0 32px 0;
}
@media (max-width: 767px) {
  .dagplanning-archive__cta {
    padding: 0 16px;
    margin-top: 48px;
  }
}
.dagplanning-archive__cta-inner {
  background: #006879;
  color: #ffffff;
  border-radius: 28px;
  padding: 48px 56px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 32px;
  align-items: center;
}
@media (max-width: 767px) {
  .dagplanning-archive__cta-inner {
    grid-template-columns: 1fr;
    padding: 32px 24px;
    border-radius: 22px;
  }
}
.dagplanning-archive__cta-eyebrow {
  font-size: 12px;
  color: #a9edff;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin: 0 0 12px;
}
.dagplanning-archive__cta-title {
  font-weight: 800;
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -1.2px;
  margin: 0;
  color: #ffffff;
}
@media (max-width: 767px) {
  .dagplanning-archive__cta-title {
    font-size: 26px;
  }
}
.dagplanning-archive__cta-btn {
  justify-self: end;
}
@media (max-width: 767px) {
  .dagplanning-archive__cta-btn {
    justify-self: start;
  }
}

.dagplanning-single .dagplanning-related {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 2px solid #f0f0f0;
}
.dagplanning-single .dagplanning-related__title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 16px;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.dagplanning-single .dagplanning-related__sub {
  font-size: 0.88rem;
  font-weight: 400;
  color: #888;
}
.dagplanning-single .dagplanning-related .horizontal-container,
.dagplanning-single .dagplanning-related .horizontal-outer {
  max-width: 100%;
  overflow: hidden;
}
.dagplanning-single .dagplanning-related .horizontal-inner {
  padding: 0;
}
.dagplanning-single .dagplanning-related__grid.flex-grid {
  flex-wrap: wrap;
  gap: 16px;
}
.dagplanning-single .dagplanning-related__grid > li {
  display: flex;
  flex: 1 1 240px;
  min-width: 0;
  max-width: 320px;
}
.dagplanning-single .dagplanning-related .dagplanning-home-card {
  min-width: 0;
  max-width: 100%;
  width: 100%;
}

.dagplanning-single__hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  padding: 44px 0 40px;
  margin-bottom: 0;
  background: linear-gradient(135deg, #006879 0%, #00a4be 100%);
}
.dagplanning-single__hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: rgba(255, 255, 255, 0.35);
  border-radius: 0;
}
.dagplanning-single__hero.has-image {
  background: #006879;
}
.dagplanning-single__hero.has-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 50, 58, 0.6) 0%, rgba(0, 78, 92, 0.78) 100%);
  z-index: 1;
  height: 100%;
}

.dagplanning-single__hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 0;
}

.dagplanning-single__hero-inner {
  position: relative;
  z-index: 2;
  max-width: 860px;
}

.dagplanning-single__breadcrumb {
  font-size: 0.82rem;
  margin-bottom: 14px;
  color: #fff;
  opacity: 0.9;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
.dagplanning-single__breadcrumb a {
  color: #fff;
  text-decoration: underline;
}
.dagplanning-single__breadcrumb a:hover, .dagplanning-single__breadcrumb a:focus-visible {
  opacity: 0.85;
  outline: none;
}

.dagplanning-single__tag {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  border-radius: 20px;
  padding: 4px 12px;
  margin-bottom: 12px;
}

.dagplanning-single__title {
  color: #fff;
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 14px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}

.dagplanning-single__intro {
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.65;
  opacity: 0.93;
  max-width: 680px;
  margin: 0;
}
.dagplanning-single__intro[hidden] {
  display: none;
}

.dagplanning-template-default .dagplanning-cta__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #006879;
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 10px 20px;
  border-radius: 6px;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.18s, box-shadow 0.18s, transform 0.15s;
  box-shadow: 0 2px 8px rgba(0, 104, 121, 0.18);
}
.dagplanning-template-default .dagplanning-cta__btn:hover, .dagplanning-template-default .dagplanning-cta__btn:focus-visible {
  background: #004e5c;
  box-shadow: 0 4px 16px rgba(0, 78, 92, 0.3);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}
.dagplanning-template-default .dagplanning-cta__btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(0, 78, 92, 0.18);
}

.dagplanning-meer__all-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #006879;
  font-weight: 600;
  font-size: 0.85rem;
  text-decoration: none;
  padding: 6px 12px;
  border-radius: 20px;
  transition: background 0.15s, color 0.15s;
}
.dagplanning-meer__all-link:hover, .dagplanning-meer__all-link:focus-visible {
  background: rgba(0, 104, 121, 0.1);
  color: #004e5c;
  text-decoration: none;
}

.dagplanning-home-overview h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 12px;
}

.dagplanning-home-overview__more {
  margin-top: 10px;
  text-align: right;
  font-size: 0.85rem;
}
.dagplanning-home-overview__more a {
  color: #006879;
  text-decoration: none;
  font-weight: 600;
}
.dagplanning-home-overview__more a:hover {
  text-decoration: underline;
}

.dagplanning-home-card {
  min-width: 220px;
  max-width: 240px;
  background: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow 0.18s, transform 0.18s;
  height: 100%;
  display: flex;
  flex-direction: column;
  color: inherit;
}
.dagplanning-home-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.dagplanning-home-card.showPointer {
  cursor: pointer;
}

.dagplanning-home-card__title a {
  color: inherit;
  text-decoration: none;
}
.dagplanning-home-card__title a:hover, .dagplanning-home-card__title a:focus-visible {
  color: #006879;
  text-decoration: none;
}

.dagplanning-home-card__thumb {
  aspect-ratio: 16/10;
  max-height: 200px;
  overflow: hidden;
  background: #f0f4f2;
  flex-shrink: 0;
}
.dagplanning-home-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.dagplanning-home-card__no-img {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #006879 0%, #00a4be 100%);
  color: #fff;
  font-size: 2rem;
}

.dp-collage {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #fff;
  overflow: hidden;
}
.dp-collage__tile {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.dp-collage__tile img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center center;
  display: block;
}
.dp-collage--2 .dp-collage__tile:nth-child(1) {
  clip-path: polygon(0% 0%, 43% 0%, 57% 100%, 0% 100%);
}
.dp-collage--2 .dp-collage__tile:nth-child(1) img {
  object-position: 15% center;
}
.dp-collage--2 .dp-collage__tile:nth-child(2) {
  clip-path: polygon(44.5% 0%, 100% 0%, 100% 100%, 58.5% 100%);
}
.dp-collage--2 .dp-collage__tile:nth-child(2) img {
  object-position: 85% center;
}
.dp-collage--3 .dp-collage__tile:nth-child(1) {
  clip-path: polygon(0% 0%, 25.5% 0%, 40.5% 100%, 0% 100%);
}
.dp-collage--3 .dp-collage__tile:nth-child(1) img {
  object-position: 15% center;
}
.dp-collage--3 .dp-collage__tile:nth-child(2) {
  clip-path: polygon(27% 0%, 58.5% 0%, 73.5% 100%, 42% 100%);
}
.dp-collage--3 .dp-collage__tile:nth-child(2) img {
  object-position: center center;
}
.dp-collage--3 .dp-collage__tile:nth-child(3) {
  clip-path: polygon(60% 0%, 100% 0%, 100% 100%, 75% 100%);
}
.dp-collage--3 .dp-collage__tile:nth-child(3) img {
  object-position: 85% center;
}
.dp-collage--empty {
  background: linear-gradient(135deg, #006879 0%, #00a4be 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.92);
}
.dp-collage--empty::before, .dp-collage--empty::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  pointer-events: none;
}
.dp-collage--empty::before {
  width: 120%;
  height: 120%;
  top: -60%;
  left: -40%;
  transform: rotate(-14deg);
  background: linear-gradient(120deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.08) 50%, rgba(255, 255, 255, 0) 60%);
}
.dp-collage--empty::after {
  width: 60%;
  height: 60%;
  bottom: -30%;
  right: -20%;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 70%);
}
.dp-collage__icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  backdrop-filter: blur(2px);
  z-index: 1;
}
.dp-collage__icon svg {
  width: 38px;
  height: 38px;
  display: block;
}

.dagplanning-home-card__thumb,
.dagplanning-archive__card-media,
.dagplanning-archive__featured-media,
.dagplanning-archive__hero-collage > div,
.dagplanning-card__thumb {
  position: relative;
}

.dagplanning-home-card__body {
  padding: 10px 12px 12px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.dagplanning-home-card__place {
  font-size: 0.72rem;
  font-weight: 600;
  color: #006879;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
  display: block;
}

.dagplanning-home-card__title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 6px;
  line-height: 1.3;
}

.dagplanning-home-card__intro {
  font-size: 0.78rem;
  color: #666;
  margin: 0;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dagplanning-block__more a {
  padding: 5px 10px;
  border-radius: 20px;
  transition: background 0.15s, color 0.15s;
}
.dagplanning-block__more a:hover, .dagplanning-block__more a:focus-visible {
  background: rgba(0, 104, 121, 0.1);
  color: #004e5c;
  text-decoration: none;
}

.dagplanning-sticky-bar {
  background: #fff;
  border-bottom: 1px solid #e8e8e8;
  padding: 12px 0;
  margin-bottom: 28px;
}
@media (max-width: 640px) {
  .dagplanning-sticky-bar {
    padding: 10px 0 12px;
    margin-bottom: 20px;
  }
}

.dagplanning-sticky-bar__inner {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
@media (max-width: 640px) {
  .dagplanning-sticky-bar__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
}

.dp-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 0.84rem;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid #d8dde0;
  background: #fff;
  color: #1a1a1a;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s, transform 0.15s;
  white-space: nowrap;
  line-height: 1;
  min-height: 40px;
}
.dp-action:hover {
  background: #f5f7f8;
  border-color: #bbb;
  color: #1a1a1a;
  text-decoration: none;
}
.dp-action:disabled {
  opacity: 0.45;
  cursor: default;
}
.dp-action--maps {
  border-color: #006879;
  color: #006879;
}
.dp-action--maps:hover {
  background: #e6f2f3;
  border-color: #006879;
  color: #004e5c;
}
@media (max-width: 640px) {
  .dp-action {
    gap: 6px;
    padding: 10px;
    font-size: 0.82rem;
    line-height: 1.1;
    min-height: 44px;
    justify-content: center;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(26, 28, 28, 0.04);
  }
  .dp-action svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
  }
  .dp-action--maps {
    grid-column: 1/-1;
    background: #006879;
    border-color: #006879;
    color: #fff;
    font-size: 0.88rem;
    box-shadow: 0 2px 10px rgba(0, 104, 121, 0.18);
  }
  .dp-action--maps:hover, .dp-action--maps:focus-visible {
    background: #004e5c;
    border-color: #004e5c;
    color: #fff;
  }
}

.dagplanning-uitjes__layout {
  display: block;
}

.dagplanning-uitjes__map-col {
  margin-top: 24px;
}
.dagplanning-uitjes__map-col .dagplanning-map {
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .dagplanning-uitjes__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 28px;
    align-items: start;
  }
  .dagplanning-uitjes__map-col {
    margin-top: 0;
  }
  .dagplanning-uitjes__map-col .dagplanning-map {
    position: sticky;
    top: 72px;
  }
}
.dagplanning-map {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #e4ecec;
  box-shadow: 0 6px 22px rgba(18, 46, 48, 0.08);
  margin-bottom: 28px;
}

.dagplanning-map__transport-bar {
  display: flex;
  gap: 8px;
  padding: 10px 12px;
  background: #f3f7f7;
  border-bottom: 1px solid #d6e3e3;
}

.dp-transport {
  padding: 5px 14px;
  border-radius: 20px;
  border: 1px solid #ccc;
  background: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  color: #555;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  line-height: 1.4;
}
.dp-transport:hover {
  border-color: #006879;
  color: #006879;
  background: #e6f2f3;
}
.dp-transport--active {
  background: #006879;
  border-color: #006879;
  color: #fff;
}
.dp-transport--active:hover {
  background: #004e5c;
  color: #fff;
  border-color: #004e5c;
}

.dagplanning-map__canvas {
  height: 320px;
  width: 100%;
  background: #eef2f0;
}

.dp-map-pin {
  width: 30px;
  height: 30px;
  background: #006879;
  color: #fff;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  border: 2px solid #fff;
}

.dp-map-pin__label {
  transform: rotate(45deg);
  display: block;
  line-height: 1;
}

.dagplanning-tijdslot {
  margin-bottom: 32px;
}

.dagplanning-tijdslot__header {
  font-size: 1.05rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 14px;
  padding-bottom: 8px;
  border-bottom: 2px solid #e8f0f0;
}

.dagplanning-uitje-card {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s, transform 0.2s;
  position: relative;
}
.dagplanning-uitje-card:hover {
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

.dagplanning-uitje-card__thumb {
  position: relative;
  overflow: hidden;
  background: #f0f4f2;
  border-radius: 6px;
  margin-bottom: 10px;
}
.dagplanning-uitje-card__thumb img {
  width: 100%;
  height: auto;
  display: block;
}
.dagplanning-uitje-card__thumb .no-thumb {
  width: 100%;
  aspect-ratio: 4/3;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e8f0f0;
  color: #006879;
  font-size: 2rem;
}

.dagplanning-uitje-card__body {
  padding: 0 6px 6px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.dagplanning-uitje-card__place {
  font-size: 0.75rem;
  color: #888;
  margin-bottom: 4px;
}

.dagplanning-uitje-card__name {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0 0 6px;
  line-height: 1.3;
}
.dagplanning-uitje-card__name a {
  color: #1a1a1a;
  text-decoration: none;
}
.dagplanning-uitje-card__name a:hover {
  color: #006879;
}

.dagplanning-uitje-card__address {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  align-self: flex-start;
  margin: 0;
  padding: 3px 9px 3px 6px;
  background: #f4f6f8;
  border-radius: 999px;
  font-size: 0.72rem;
  color: #5d6b75;
  line-height: 1.3;
  max-width: 100%;
  min-width: 0;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}
.dagplanning-uitje-card__address:hover, .dagplanning-uitje-card__address:focus-visible {
  background: #e6f2f3;
  color: #004e5c;
  text-decoration: none;
  outline: none;
}
.dagplanning-uitje-card__address:hover .dagplanning-uitje-card__address-icon, .dagplanning-uitje-card__address:focus-visible .dagplanning-uitje-card__address-icon {
  color: #006879;
}

.dagplanning-uitje-card__address-icon {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  color: #8797a3;
}

.dagplanning-uitje-card__address span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.dagplanning-uitje-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 4px;
  min-width: 0;
  flex-wrap: wrap;
  row-gap: 6px;
}
.dagplanning-uitje-card__meta .rating {
  margin-top: 0;
  min-width: 0;
  width: auto;
  flex: 0 1 auto;
  align-items: center;
  line-height: 1.2;
}
.dagplanning-uitje-card__meta .rating .stars,
.dagplanning-uitje-card__meta .rating .totals {
  display: inline-block;
  vertical-align: middle;
}
.dagplanning-uitje-card__meta .dagplanning-uitje-card__address {
  flex: 0 1 auto;
  margin-left: auto;
  align-self: center;
  line-height: 1.2;
}

.dagplanning-uitje-card__intro {
  font-size: 0.82rem;
  color: #555;
  margin: 0 0 10px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}

.dagplanning-uitje-card__fav {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: none;
  padding: 0;
  background: rgba(255, 255, 255, 0.92);
  color: #1a1a1a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
  transition: transform 0.15s, background 0.15s, color 0.15s;
}
.dagplanning-uitje-card__fav svg {
  width: 18px;
  height: 18px;
  display: block;
}
.dagplanning-uitje-card__fav:hover, .dagplanning-uitje-card__fav:focus-visible {
  transform: scale(1.06);
  background: #fff;
  color: #c01a3a;
  outline: none;
}
.dagplanning-uitje-card__fav[aria-pressed=true] {
  background: #fff;
  color: #c01a3a;
}
.dagplanning-uitje-card__fav[aria-pressed=true] svg path {
  fill: currentColor;
}

.dagplanning-uitje-card .rating {
  margin-top: 4px;
  font-size: 0.78rem;
  color: #666;
}
.dagplanning-uitje-card .rating .stars {
  font-size: 0.95rem;
  letter-spacing: 1px;
}

.dagplanning-uitje-card__num-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  width: 28px;
  height: 28px;
  background: #006879;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  font-weight: 700;
  z-index: 2;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25);
  border: 2px solid #fff;
}

.stop-why {
  background: #e6f2f3;
  border-left: 3px solid #006879;
  border-radius: 0 6px 6px 0;
  padding: 7px 11px;
  margin: 4px 0 8px;
}
.stop-why p {
  font-size: 0.8rem;
  color: #004e5c;
  font-style: italic;
  margin: 0;
  line-height: 1.5;
}

.dagplanning-stop-wrap {
  position: relative;
}
.dagplanning-stop-wrap.dp-stop-highlight .dagplanning-uitje-card {
  box-shadow: 0 0 0 3px #006879, 0 4px 18px rgba(0, 104, 121, 0.18);
  transition: box-shadow 0.3s;
}

.dagplanning-hop {
  display: flex;
  align-items: center;
  margin: 8px 0;
  padding: 0 12px;
}

.dagplanning-hop__line {
  flex: 1;
  height: 1px;
  background: #d6e3e3;
}

.dagplanning-hop__pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 12px;
  background: #e6f2f3;
  border: 1px solid #d6e3e3;
  border-radius: 20px;
  font-size: 0.75rem;
  color: #004e5c;
  white-space: nowrap;
  flex-shrink: 0;
  margin: 0 8px;
}

.dp-hop-icon {
  font-size: 0.88rem;
  line-height: 1;
}

.dp-hop-label {
  min-width: 40px;
}

.dp-hop-label:empty::before {
  content: "…";
  color: #aaa;
}

/* === Homepage personalisatie-teaser === */
.home-mijnplan-teaser {
  margin-bottom: 20px;
}

.home-mijnplan-teaser__inner {
  display: flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, #f0faf6 0%, #e8f7f0 100%);
  border: 1px solid #d6e3e3;
  border-radius: 12px;
  padding: 14px 18px;
  flex-wrap: wrap;
}

.home-mijnplan-teaser__icon {
  font-size: 1.4rem;
  line-height: 1;
  flex-shrink: 0;
}

.home-mijnplan-teaser__copy {
  flex: 1;
  margin: 0;
  font-size: 0.92rem;
  color: #004e5c;
  line-height: 1.4;
}
.home-mijnplan-teaser__copy strong {
  font-weight: 700;
}

.home-mijnplan-teaser__actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.home-mijnplan-teaser__btn {
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 0.84rem;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  border: 2px solid transparent;
  transition: background 0.15s, border-color 0.15s;
  min-height: 38px;
}
.home-mijnplan-teaser__btn--primary {
  background: #355150;
  color: #fff;
}
.home-mijnplan-teaser__btn--primary:hover {
  background: rgb(46.64, 71.28, 70.4);
  color: #fff;
}
.home-mijnplan-teaser__btn--secondary {
  background: transparent;
  border-color: #355150;
  color: #355150;
}
.home-mijnplan-teaser__btn--secondary:hover {
  background: rgba(53, 81, 80, 0.06);
}

.page-template-default .Evenvoorstellen.Overview {
  border-top: 2px solid #eee;
  background: none transparent;
  padding: 20px 0 0;
  margin-top: 20px;
  margin-right: 0;
  border-radius: 0;
}
.page-template-default .Evenvoorstellen.Overview > h2 {
  font-size: 1.5rem;
}

.Evenvoorstellen.Overview {
  background: #eee;
  padding: 25px;
  margin-right: 20px;
  border-radius: 16px 16px 16px 0;
}
.Evenvoorstellen.Overview .scrollable-inner > div:nth-child(5n-4) figure {
  transform: rotate(6deg);
}
.Evenvoorstellen.Overview .scrollable-inner > div:nth-child(5n-3) figure {
  transform: rotate(-2deg);
}
.Evenvoorstellen.Overview .scrollable-inner > div:nth-child(5n-2) figure {
  transform: rotate(3deg);
}
.Evenvoorstellen.Overview .scrollable-inner > div:nth-child(5n-1) figure {
  transform: rotate(-7deg);
}
.Evenvoorstellen.Overview .scrollable-inner > div:nth-child(5n) figure {
  transform: rotate(4deg);
}
.Evenvoorstellen.Detail {
  margin-bottom: 0;
  padding-bottom: 5px;
}
.Evenvoorstellen.Detail figure {
  border: 6px solid #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  margin: 10px 15px 15px;
}
.Evenvoorstellen.Detail h4 {
  color: #2a2d2e;
  font-weight: normal;
  font-size: 16px;
  margin-bottom: 0;
  padding-left: 10px;
}
.Evenvoorstellen.Detail h4 a {
  color: inherit;
}
.Evenvoorstellen.Detail h4 a::after {
  content: "\ea3c";
  font-family: "icomoon";
  display: inline-block;
  margin-left: 10px;
}

/* FAQ Component Styles */
.faq-section {
  margin: 64px 0;
  padding: 44px 0;
  background: linear-gradient(135deg, rgba(0, 104, 121, 0.06) 0%, rgba(253, 200, 0, 0.18) 100%);
  border-radius: 28px;
  box-shadow: 0 24px 48px rgba(0, 104, 121, 0.08), inset 0 0 0 1px rgba(0, 104, 121, 0.05);
}

.faq-section .container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}

.faq-header {
  text-align: center;
  margin-bottom: 34px;
}

.faq-emoji {
  font-size: 42px;
  display: block;
  margin-bottom: 12px;
}

.faq-title {
  font-size: 32px;
  color: #1a1c1c;
  font-weight: 700;
  margin: 0;
}

.faq-items {
  border-radius: 22px;
  padding: 24px;
}

.faq-item {
  margin-bottom: 12px;
  border-radius: 18px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(0, 104, 121, 0.06);
}

.faq-item:last-child {
  margin-bottom: 0;
}

.faq-item:hover {
  transform: translateY(-1px);
  box-shadow: inset 0 0 0 1px rgba(0, 104, 121, 0.08), 0 18px 36px rgba(0, 104, 121, 0.08);
}

.faq-item.active {
  box-shadow: inset 0 0 0 1px rgba(0, 104, 121, 0.1), 0 22px 44px rgba(0, 104, 121, 0.1);
}

.faq-question {
  width: 100%;
  padding: 18px 22px;
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 17px;
  font-weight: 600;
  color: #1a1c1c;
  transition: background 0.2s ease, color 0.2s ease;
  outline: none;
}

.faq-question:hover,
.faq-question:focus-visible {
  background: rgba(0, 104, 121, 0.05);
}

.faq-question:focus-visible {
  outline: 2px solid rgba(0, 104, 121, 0.2);
  outline-offset: -2px;
}

.faq-question[aria-expanded=true] {
  background: rgba(253, 200, 0, 0.14);
}

.faq-question strong {
  color: #755b00;
}

.faq-icon {
  flex-shrink: 0;
  color: #006879;
  transition: transform 0.3s ease, color 0.3s ease;
}

.faq-question[aria-expanded=true] .faq-icon {
  transform: rotate(180deg);
  color: #755b00;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.25s ease;
  opacity: 0;
  line-height: 1.5;
}

.faq-question[aria-expanded=true] + .faq-answer {
  max-height: 1200px;
  opacity: 1;
}

.faq-answer-content {
  padding: 18px 22px 22px;
  font-size: 16px;
  line-height: 1.5;
  color: rgba(26, 28, 28, 0.82);
}

.faq-answer-content a {
  color: #006879;
  text-decoration: underline;
}

.faq-answer-content a:hover {
  color: #004d59;
}

@media (max-width: 1024px) and (min-width: 769px) {
  .faq-section {
    margin: 54px 0;
    padding: 40px 0;
  }
  .faq-title {
    font-size: 28px;
  }
}
@media (max-width: 768px) {
  .faq-section {
    margin: 32px -15px 0;
    padding: 20px 0;
    border-radius: 0px;
  }
  .faq-header {
    margin-bottom: 20px;
  }
  .faq-title {
    font-size: 24px;
  }
  .faq-section .container {
    padding: 0 15px;
  }
  .faq-items {
    padding: 12px;
    border-radius: 18px;
  }
  .faq-question {
    padding: 14px 16px;
    font-size: 15px;
  }
  .faq-answer-content {
    padding: 14px 16px 16px;
    font-size: 14px;
    line-height: 1.45;
  }
  .faq-answer {
    line-height: 1.45;
  }
}
@media print {
  .faq-section {
    background: none;
    box-shadow: none;
    margin: 20px 0;
    padding: 20px 0;
  }
  .faq-item {
    box-shadow: inset 0 0 0 1px #ccc;
    border-radius: 0;
    margin-bottom: 8px;
  }
  .faq-answer {
    max-height: none !important;
    opacity: 1 !important;
    display: block !important;
  }
  .faq-question {
    background: none;
  }
  .faq-icon {
    display: none;
  }
}
/* === Favoritensysteem SCSS — compacter & gegroepeerd === */
/* ===== Variabelen ===== */
/* ===== Placeholders ===== */
.btn {
  padding: 12px 24px;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s ease;
  width: 100%;
}

/* ===== Header actions ===== */
.user-info {
  display: flex;
  align-items: center;
  gap: 20px;
}

.logout-btn,
.show-login-modal,
.favorites-header-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  text-decoration: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  border: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.logout-btn svg,
.show-login-modal svg,
.favorites-header-btn svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
}
.logout-btn,
.show-login-modal,
.favorites-header-btn {
  height: 40px;
  background: #e91e63;
  color: #fff;
  border: none;
  font-weight: 600;
}
.logout-btn:hover,
.show-login-modal:hover,
.favorites-header-btn:hover {
  background: #c2185b;
}
.logout-btn,
.show-login-modal,
.favorites-header-btn {
  padding: 8px 16px;
}

.logout-btn {
  background: #f8f9fa;
  color: #555;
  border: 1px solid #ddd;
}
.logout-btn:hover {
  background: #f0f0f0;
  color: #333;
}

/* Primair knopelement (login + favorieten) */
.show-login-modal,
.favorites-header-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  border: 1px solid transparent;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}
.show-login-modal svg,
.favorites-header-btn svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
}
.show-login-modal,
.favorites-header-btn {
  height: 40px;
  padding: 8px 16px;
  border-color: #e91e63;
  background: #e91e63;
  color: #fff;
}
.show-login-modal:hover,
.favorites-header-btn:hover {
  background: #c2185b;
  border-color: #c2185b;
}

/* ===== Buttons ===== */
.btn-primary {
  background: #e91e63;
  color: #fff;
}
.btn-primary:hover {
  background: #c2185b;
}

.btn-secondary {
  background: #666;
  color: #fff;
  margin-top: 10px;
}
.btn-secondary:hover {
  background: #555;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.share-favorites-btn {
  padding: 6px 12px;
  background: #2196f3;
  color: #fff;
  border: 0;
  border-radius: 4px;
  font-size: 14px;
}
.share-favorites-btn:hover {
  background: #1976d2;
}

/* ===== Favorite button ===== */
.Business.Detail, .plaats-details {
  position: relative;
}

.favorite-button {
  position: absolute;
  background: #fff;
  border: 0;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
}
.favorite-button * {
  pointer-events: none;
}
.favorite-button svg {
  width: 18px;
  height: 18px;
  stroke: #e91e63;
  fill: none;
  stroke-width: 1.5;
  transition: all 0.3s ease;
}
.favorite-button:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 6px rgba(0, 0, 0, 0.1);
}
.favorite-button {
  /* Kaart/tegel: vierkant icoon met afgeronde hoeken */
}
.favorite-button:not(.single-favorite):not(.sidebar-save-cta) {
  right: 10px;
  top: 10px;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  aspect-ratio: 1/1;
  padding: 0;
  line-height: 0;
}
.favorite-button:not(.single-favorite):not(.sidebar-save-cta) .button-text {
  display: none;
}
.favorite-button {
  /* Detail: rechthoekige CTA */
}
.favorite-button.single-favorite {
  right: 50px;
  bottom: 50px;
  height: auto;
  padding: 12px 20px;
  border-radius: 6px;
  border: 1px solid #e5e5e5;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  justify-content: flex-start;
  gap: 10px;
  font-family: "source_sans_pro", "Source Sans Pro", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #2a2d2e;
}
.favorite-button.single-favorite .button-text {
  white-space: nowrap;
  line-height: 1.2;
  color: inherit;
}
.favorite-button.favorited {
  background: #e91e63;
  border-color: #e91e63;
  color: #fff;
  box-shadow: 0 2px 8px rgba(233, 30, 99, 0.3), 0 1px 3px rgba(233, 30, 99, 0.2);
}
.favorite-button.favorited svg {
  fill: #fff;
  stroke: #e91e63;
}

/* ===== Modals ===== */
.favorites-modal {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.modal-content {
  background: #fff;
  border-radius: 8px;
  max-width: 500px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  animation: modalSlideIn 0.3s ease;
}
.modal-content form {
  padding: 20px;
}

.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 20px 10px;
  border-bottom: 1px solid #eee;
}
.modal-header h3 {
  margin: 0;
  color: #333;
  font-size: 24px;
}
.modal-header .close-modal {
  background: none;
  border: 0;
  font-size: 24px;
  cursor: pointer;
  color: #666;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.3s ease;
}
.modal-header .close-modal:hover {
  background: #f0f0f0;
}

.form-group {
  margin-bottom: 15px;
}
.form-group label {
  display: block;
  margin-bottom: 5px;
  color: #333;
  font-weight: 500;
}
.form-group input {
  width: 100%;
  padding: 10px;
  border: 2px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
  transition: border-color 0.3s ease;
  box-sizing: border-box;
}
.form-group input:focus {
  outline: none;
  border-color: #e91e63;
}

.modal-footer {
  padding: 10px 20px 20px;
  text-align: center;
  color: #666;
}
.modal-footer a {
  color: #e91e63;
  text-decoration: none;
  font-weight: 500;
}
.modal-footer a:hover {
  text-decoration: underline;
}

body.modal-open {
  overflow: hidden;
}

/* ===== Lijst / items ===== */
.favorites-content {
  padding: 20px;
}

div.loading, .no-favorites, .error {
  text-align: center;
  padding: 40px;
}

div.loading, .no-favorites {
  color: #666;
}

.error {
  color: #e91e63;
}

.favorites-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.favorite-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding: 15px;
  border: 1px solid #eee;
  border-radius: 8px;
  transition: box-shadow 0.3s ease;
}
.favorite-item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.favorite-thumbnail {
  width: 80px;
  height: 60px;
  object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
}

.favorite-details {
  flex: 1;
}
.favorite-details h4 {
  margin: 0 0 5px;
  font-size: 16px;
}
.favorite-details a {
  color: #333;
  text-decoration: none;
  transition: color 0.3s ease;
}
.favorite-details a:hover {
  color: #e91e63;
}

.favorite-category {
  display: inline-block;
  background: #f0f0f0;
  color: #666;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 12px;
  margin-bottom: 5px;
}

.favorite-excerpt {
  color: #666;
  font-size: 14px;
  margin: 5px 0 0;
  line-height: 1.4;
}

/* ===== Notifications ===== */
.notification {
  position: fixed;
  bottom: 20px;
  right: 20px;
  padding: 15px 20px;
  border-radius: 8px;
  color: #fff;
  z-index: 10000;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 400px;
  animation: slideInRight 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.notification-success {
  background: #4caf50;
}
.notification-error {
  background: #f44336;
}
.notification-info {
  background: #2196f3;
}
.notification-close {
  background: none;
  border: 0;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  padding: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.3s ease;
}
.notification-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* ===== Share / delen ===== */
.shared-info {
  padding: 15px 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #eee;
}
.shared-info p {
  margin: 5px 0;
}

.shared-favorites .favorite-item {
  border-left: 4px solid #2196f3;
}

.shared-item .favorite-details h4 a {
  color: #2196f3;
}
.shared-item .favorite-details h4 a:hover {
  color: #1976d2;
  text-decoration: underline;
}

.share-content {
  padding: 20px;
}

.share-url-container {
  display: flex;
  gap: 10px;
  margin: 15px 0;
}

.share-url-input {
  flex: 1;
  padding: 10px;
  border: 2px solid #ddd;
  border-radius: 4px;
  font-family: monospace;
  font-size: 14px;
}
.share-url-input:focus {
  outline: none;
  border-color: #e91e63;
}

.copy-url-btn {
  padding: 10px 15px;
  background: #2196f3;
  color: #fff;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
}
.copy-url-btn:hover {
  background: #1976d2;
}

/* ===== Favorites List Modal (thema) ===== */
.favorites-list-modal .modal-content {
  max-width: 800px;
  width: 100%;
  padding: 30px;
}
.favorites-list-modal .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 20px;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 25px;
}
.favorites-list-modal .header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.favorites-list-modal .share-favorites-btn {
  padding: 8px 16px;
  background: #28a1c5;
  color: #fff;
  border: 0;
  border-radius: 2px;
  cursor: pointer;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  font-family: "source_sans_pro", "Source Sans Pro", sans-serif;
  transition: background 0.3s ease;
}
.favorites-list-modal .share-favorites-btn:hover {
  background: #1e8aa3;
}
.favorites-list-modal .favorites-content {
  padding: 0;
}
.favorites-list-modal .favorites-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.favorites-list-modal .favorite-item {
  display: flex;
  gap: 15px;
  padding: 20px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 2px 2px 15px 2px;
  transition: all 0.3s ease;
  position: relative;
}
.favorites-list-modal .favorite-item:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-color: #28a1c5;
}
.favorites-list-modal .favorite-thumbnail {
  width: 120px;
  height: 90px;
  object-fit: cover;
  border-radius: 2px;
  flex-shrink: 0;
  background: #f5f5f5;
}
.favorites-list-modal .favorite-details {
  flex: 1;
  min-width: 0;
}
.favorites-list-modal .favorite-details h4 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 600;
  font-family: "source_sans_pro", "Source Sans Pro", sans-serif;
  line-height: 1.3;
}
.favorites-list-modal .favorite-details h4 a {
  color: #2a2d2e;
  text-decoration: none;
  transition: color 0.3s ease;
}
.favorites-list-modal .favorite-details h4 a:hover {
  color: #e91e63;
}
.favorites-list-modal .favorite-category {
  display: inline-block;
  background: #28a1c5;
  color: #fff;
  padding: 4px 8px;
  border-radius: 2px;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 8px;
  font-family: "source_sans_pro", "Source Sans Pro", sans-serif;
}
.favorites-list-modal .favorite-excerpt {
  color: #9a9b9b;
  font-size: 14px;
  line-height: 1.4;
  margin: 0;
  font-family: "source_sans_pro", "Source Sans Pro", sans-serif;
}
.favorites-list-modal .remove-favorite {
  position: absolute;
  top: 15px;
  right: 15px;
  background: #EE3823;
  color: #fff;
  border: 0;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  cursor: pointer;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
.favorites-list-modal .remove-favorite:hover {
  background: rgb(215.5443037975, 37.2303797468, 16.6556962025);
  transform: scale(1.1);
}
.favorites-list-modal .loading, .favorites-list-modal .no-favorites {
  text-align: center;
  padding: 60px 20px;
  color: #9a9b9b;
  font-family: "source_sans_pro", "Source Sans Pro", sans-serif;
}
.favorites-list-modal .no-favorites::before {
  content: "💔";
  display: block;
  font-size: 48px;
  margin-bottom: 15px;
}
.favorites-list-modal .error {
  text-align: center;
  padding: 40px 20px;
  color: #EE3823;
  background: rgba(238, 56, 35, 0.1);
  border-radius: 4px;
  margin: 20px 0;
  font-family: "source_sans_pro", "Source Sans Pro", sans-serif;
}
.favorites-list-modal .shared-info {
  padding: 20px;
  background: rgba(40, 161, 197, 0.1);
  border-left: 4px solid #28a1c5;
  margin-bottom: 25px;
  border-radius: 2px;
}
.favorites-list-modal .shared-info p {
  margin: 0;
  color: #2a2d2e;
  font-family: "source_sans_pro", "Source Sans Pro", sans-serif;
}
.favorites-list-modal .shared-favorites .favorite-item {
  border-left: 4px solid #28a1c5;
}
.favorites-list-modal .btn-secondary {
  background: #28a1c5;
  margin-top: 20px;
}
.favorites-list-modal .btn-secondary:hover {
  background: #1e8aa3;
}

/* ===== Animations ===== */
@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: translateY(-50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* ===== Responsive ===== */
.site-footer {
  position: relative;
  z-index: 3;
  width: 100%;
  margin-top: 0;
  padding: 56px 0 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  background: none transparent;
  color: #3d494c;
  font-family: "Source Sans Pro", "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
}
.site-footer .h5 {
  font-family: "Source Sans Pro", "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #006879;
  margin: 0 0 14px;
}
.site-footer a {
  color: #1a1c1c;
  transition: all 0.18s ease ease-in;
}
.site-footer a:hover, .site-footer a:focus, .site-footer a:focus-visible {
  color: #006879;
  text-decoration: none;
}
.site-footer .top {
  padding-bottom: 40px;
}
.site-footer .site-links > li {
  margin-bottom: 8px;
}
.site-footer .site-links > li > a {
  color: #1a1c1c;
  text-decoration: none;
  transition: all 0.18s ease ease-in;
}
.site-footer .site-links > li > a:hover, .site-footer .site-links > li > a:focus-visible {
  color: #006879;
}
.site-footer ul.social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin: 0;
}
.site-footer ul.social li {
  margin: 0;
  padding: 0;
  list-style: none;
  float: none;
  display: inline-block;
}
.site-footer ul.social li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  line-height: 1;
  border-radius: 50%;
  background: #fff;
  color: #006879;
  font-family: "icomoon";
  font-size: 16px;
  border: 1px solid #bcc9cd;
  box-shadow: 0 1px 2px rgba(26, 28, 28, 0.04);
  padding: 0;
  text-decoration: none;
  transition: all 0.18s ease ease-in;
}
.site-footer ul.social li a span {
  display: none;
}
.site-footer ul.social li a:hover, .site-footer ul.social li a:focus-visible {
  background: #006879;
  color: #fff;
  border-color: #006879;
  opacity: 1;
}
.site-footer ul.social li a.inst {
  background: #fff;
  color: #bc1888;
  border-color: rgba(188, 24, 136, 0.25);
  filter: none;
}
.site-footer ul.social li a.inst:hover, .site-footer ul.social li a.inst:focus-visible {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  color: #fff;
  border-color: transparent;
}
.site-footer .bottom {
  margin-top: 28px;
  padding: 20px 0 28px;
  border-top: 1px solid rgba(26, 28, 28, 0.06);
  color: #3d494c;
  font-size: 12px;
}
.site-footer .bottom a {
  color: #3d494c;
  text-decoration: underline;
}

/* form 7 css */
div.wpcf7 {
  margin: 0;
  padding: 0;
}

div.wpcf7-response-output {
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
}

div.wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  margin: 0;
  padding: 0;
  border: 0;
}

div.wpcf7-mail-sent-ok {
  border: 2px solid #398f14;
}

div.wpcf7-mail-sent-ng {
  border: 2px solid #ff0000;
}

div.wpcf7-spam-blocked {
  border: 2px solid #ffa500;
}

div.wpcf7-validation-errors {
  border: 2px solid #f7e700;
}

.wpcf7-form-control-wrap {
  position: relative;
}

span.wpcf7-not-valid-tip {
  color: #f00;
  font-size: 1em;
  display: block;
}

.use-floating-validation-tip span.wpcf7-not-valid-tip {
  position: absolute;
  top: 20%;
  left: 20%;
  z-index: 100;
  border: 1px solid #ff0000;
  background: #fff;
  padding: 0.2em 0.8em;
}

span.wpcf7-list-item {
  margin-left: 0.5em;
}

.wpcf7-display-none {
  display: none;
}

div.wpcf7 img.ajax-loader {
  border: none;
  vertical-align: middle;
  margin-left: 4px;
}

div.wpcf7 div.ajax-error {
  display: none;
}

div.wpcf7 .placeheld {
  color: #888;
}

/* forms — redesign aligned (wpcf7 contact form) */
.wpcf7-form {
  width: 480px;
  max-width: 100%;
  margin: 0 auto;
  position: relative;
  padding: 28px 26px 24px;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 1px 2px rgba(26, 28, 28, 0.04), 0 24px 48px rgba(26, 28, 28, 0.06);
  border: 1px solid rgba(26, 28, 28, 0.06);
  font-family: "Source Sans Pro", "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.wpcf7-form label {
  display: block;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #3d494c;
  margin-bottom: 6px;
}
.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form input[type=tel],
.wpcf7-form input[type=url],
.wpcf7-form textarea {
  background: #fff;
  color: #1a1c1c;
  border: 1px solid #bcc9cd;
  border-bottom: 1px solid #bcc9cd;
  border-radius: 14px;
  padding: 12px 14px;
  width: 100%;
  resize: none;
  font-family: "Source Sans Pro", "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.4;
  transition: all 0.18s ease-in;
}
.wpcf7-form input[type=text]:hover,
.wpcf7-form input[type=email]:hover,
.wpcf7-form input[type=tel]:hover,
.wpcf7-form input[type=url]:hover,
.wpcf7-form textarea:hover {
  border-color: color-mix(in srgb, #006879 35%, #bcc9cd);
}
.wpcf7-form input[type=text]:focus,
.wpcf7-form input[type=email]:focus,
.wpcf7-form input[type=tel]:focus,
.wpcf7-form input[type=url]:focus,
.wpcf7-form textarea:focus {
  outline: none;
  border-color: #006879;
  box-shadow: 0 0 0 3px color-mix(in srgb, #006879 15%, transparent);
}
.wpcf7-form textarea {
  height: 140px;
}
.wpcf7-form .formElement {
  padding: 0;
  margin-bottom: 14px;
  display: block;
  overflow: hidden;
  clear: both;
}
.wpcf7-form nav {
  padding: 6px 0 0;
  overflow: hidden;
  text-align: center;
}
.wpcf7-form nav input {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 180px;
  padding: 13px 28px;
  border: 0;
  border-radius: 999px;
  background: #006879;
  color: #fff;
  font-family: "Source Sans Pro", "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 800;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  text-transform: none;
  box-shadow: 0 1px 2px rgba(0, 104, 121, 0.2), 0 12px 24px rgba(0, 104, 121, 0.18);
  transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease;
  cursor: pointer;
}
.wpcf7-form nav input:hover, .wpcf7-form nav input:focus-visible {
  background: #004e5c;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 1px 2px rgba(0, 104, 121, 0.24), 0 16px 30px rgba(0, 104, 121, 0.22);
}
.wpcf7-form nav input:active {
  transform: translateY(0);
}
@media (max-width: 767px) {
  .wpcf7-form {
    padding: 22px 18px 20px;
    border-radius: 18px;
  }
  .wpcf7-form input[type=text],
  .wpcf7-form input[type=email],
  .wpcf7-form input[type=tel],
  .wpcf7-form input[type=url],
  .wpcf7-form textarea {
    padding: 10px 12px;
    font-size: 1rem;
  }
}

.wpcf7-form .wpcf7-validation-errors {
  margin-top: 14px;
  padding: 10px 14px;
  background: color-mix(in srgb, #be003a 8%, #fff);
  border: 1px solid color-mix(in srgb, #be003a 40%, #fff);
  border-radius: 12px;
  color: #be003a;
  text-shadow: 0 0 0;
  font-size: 0.9rem;
}

.wpcf7-form .wpcf7-not-valid-tip {
  display: inline-block;
  margin-top: 4px;
  padding: 3px 10px;
  border-radius: 999px;
  background: #be003a;
  color: #fff;
  text-shadow: 0 0 0;
  font-size: 0.75rem;
  font-weight: 700;
}

body div.wpcf7 .wpcf7-form img.ajax-loader {
  margin-left: -9.5px;
  margin-top: -9.5px;
  background: rgb(255, 255, 255);
  border-radius: 6px;
  position: absolute;
  left: 50%;
  top: 50%;
  padding: 3px;
}

.wpcf7-form .wpcf7-mail-sent-ok {
  margin-top: 14px;
  padding: 10px 14px;
  background: color-mix(in srgb, #006879 12%, #fff);
  border: 1px solid color-mix(in srgb, #006879 35%, #fff);
  border-radius: 12px;
  color: #004e5c;
  text-shadow: 0 0 0;
  font-weight: 600;
}

@font-face {
  font-family: "Twemoji Country Flags";
  font-style: normal;
  font-weight: normal;
  font-display: swap;
  src: url("https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1.8/dist/TwemojiCountryFlags.woff2") format("woff2");
  unicode-range: U+1F1E6-1F1FF;
}
.ido-lang-switcher {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  font-family: inherit;
  font-size: 12px;
  line-height: 1;
}
.ido-lang-switcher__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 4px 8px;
  border-radius: 8px;
  color: #6d797d;
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 0.02em;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.ido-lang-switcher__item:hover, .ido-lang-switcher__item:focus-visible {
  color: #355150;
  background: rgba(53, 81, 80, 0.06);
  text-decoration: none;
}
.ido-lang-switcher__item.is-active {
  color: #355150;
  font-weight: 700;
  background: color-mix(in srgb, #355150 12%, #fff);
}
.ido-lang-switcher__flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  font-style: normal;
  font-family: "Twemoji Country Flags", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
}
.ido-lang-switcher__code {
  letter-spacing: 0.04em;
}
.ido-lang-switcher__label {
  margin-left: 2px;
}
.ido-lang-switcher--header {
  position: static;
}
.ido-lang-switcher--footer {
  margin-top: 12px;
  flex-wrap: wrap;
}
.ido-lang-switcher--mobile {
  justify-content: center;
  padding: 12px 8px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.ido-lang-switcher--mobile .ido-lang-switcher__label {
  display: none;
}

.ido-lang-switcher-col .ido-lang-switcher {
  display: flex;
  flex-wrap: wrap;
}

.Linkgroup.Overview {
  padding-top: 30px;
  border-top: 2px solid #e5e5e5;
  margin-top: 30px;
  margin-bottom: 30px;
}
.Linkgroup.Overview:last-child {
  margin-bottom: 0;
}
.Linkgroup.Overview.hidden {
  display: none;
}
.Linkgroup.Overview .block-grid {
  margin-right: -20px;
}
.Linkgroup.Overview .block-grid > li {
  padding-right: 20px;
}
.Linkgroup.Overview .block-grid > li a, .Linkgroup.Overview .block-grid > li button {
  color: #2a2d2e;
  position: relative;
  display: block;
  padding: 7px 0 7px 20px;
  margin: 0;
  border: 0;
  width: 100%;
  background: none transparent;
  text-align: left;
}
.Linkgroup.Overview .block-grid > li a::after, .Linkgroup.Overview .block-grid > li button::after {
  opacity: 0.4;
  content: "\f14c";
  font-family: "FontAwesome";
  position: absolute;
  left: 0;
  top: 7px;
  line-height: 20px;
}
.Linkgroup.Overview .block-grid > li a:hover::after, .Linkgroup.Overview .block-grid > li button:hover::after {
  opacity: 1;
}
.Linkgroup.Overview .block-grid > li a.me::before, .Linkgroup.Overview .block-grid > li button.me::before {
  font-family: arial, helvetica, sans-serif;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  content: "Evenement";
  padding: 2px 4px;
  background: #ff0000;
  color: #fff;
  display: inline-block;
  zoom: 1;
  *display: inline;
  bottom: 1px;
  position: relative;
  margin-right: 4px;
  vertical-align: bottom;
  font-size: 11px;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .Linkgroup.Overview .block-grid > li {
    float: none;
    clear: both;
    display: block;
    width: 100%;
  }
}

/*.Linkgroup.Overview { margin:15px 0; position:relative; z-index:2; padding:15px; background:url(../images/bookmarks.jpg) no-repeat center center / auto 100%;  width:25%; }
.Linkgroup.Overview::after { content:''; z-index:-1; background:rgba(0,0,0,0.5); width:100%; height:100%; left:0; top:0; position: absolute; display:block; }
.Linkgroup.Overview > h3 { color:#fff; }
.Linkgroup.Overview .block-grid > li { border-top:1px solid rgba(255,255,255,0.3); }
.Linkgroup.Overview .block-grid > li a { color:#fff; position: relative; display:block; padding:7px 15px 7px 10px; margin:0 -10px; }
.Linkgroup.Overview .block-grid > li a::after { opacity: 0.4; content:'\f14c'; font-family: 'FontAwesome'; position: absolute; right:-3px; top:50%; line-height:20px; margin-top:-10px; }
.Linkgroup.Overview .block-grid > li a:hover::after { opacity: 1; }

.Linkgroup.Overview .block-grid > li a.me { }
.Linkgroup.Overview .block-grid > li a.me::before {
    font-family:arial,helvetica, sans-serif; -webkit-border-radius: 2px; -moz-border-radius:2px; border-radius: 2px; content:'Evenementen'; padding:2px 4px; background:#ff0000; display:inline-block; zoom:1; *display:inline; bottom:1px; position:relative; margin-right:4px; vertical-align: bottom; font-size:11px; white-space: nowrap;
}*/
/* homepage categorys */
.block-grid.Overview {
  clear: both;
  float: none;
}
.block-grid.Overview > li {
  margin-bottom: 20px;
}

.List.Overview {
  padding-top: 30px;
  margin-bottom: 10px;
  text-align: left;
}
.List.Overview > li {
  margin-bottom: 15px;
}
.List.Overview > li > a:not(.showall) {
  font-weight: bold;
  font-size: 118%;
  color: inherit;
  margin-bottom: 12px;
  line-height: 1.2;
  display: block;
  clear: both;
  text-decoration: none;
}
.List.Overview > li > a:not(.showall) .count {
  display: none;
}
.List.Overview.bySort {
  margin-right: -30px;
  margin-left: 0;
  padding: 0;
  overflow: visible;
}
.List.Overview.bySort > li {
  padding-right: 30px;
  margin-bottom: 30px;
}
.List.Overview.bySort > li > a:not(.showall) {
  font-size: 200%;
  font-weight: 300;
}
.List.Overview.bySort ul.children, .List.Overview.bySort .showall {
  background: #f9f9f9;
  border-radius: 2px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
}
.List.Overview.bySort ul.children > li {
  border-top: 1px solid rgba(42, 45, 46, 0.3);
}
.List.Overview.bySort ul.children > li:first-child {
  border-top: 0;
}
.List.Overview.bySort ul.children > li > a, .List.Overview.bySort .showall {
  padding: 12px 40px 12px 12px;
  display: block;
  color: #2a2d2e;
  font-size: 112.5%;
}
.List.Overview.bySort ul.children > li > a::before, .List.Overview.bySort .showall::before {
  left: auto;
  right: 12px;
  font-size: 18px;
  opacity: 0.35;
  top: 50%;
  transform: translate(0, -50%);
}
.List.Overview.byLocation {
  margin-right: 0;
  margin-bottom: -60px;
}
.List.Overview.byLocation > li {
  padding-right: 0;
  margin-bottom: 0;
}
.List.Overview.byLocation > li {
  position: relative;
}
.List.Overview.byLocation > li figure {
  margin: 0;
  float: none;
  clear: both;
  background: #2a2d2e;
}
.List.Overview.byLocation > li figure img {
  width: 100%;
  opacity: 0.5;
  transition: all 0.3s ease-in;
}
.List.Overview.byLocation > li > h3 {
  position: absolute;
  top: 50%;
  transform: translate(0px, -50%);
  left: 0;
  right: 0;
  text-align: center;
  color: #fff;
  font-size: 200%;
  font-weight: 300;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
  padding: 25px;
}
.List.Overview.byLocation > li > h3 a {
  text-decoration: none;
}
.List.Overview.byLocation > li.active figure img, .List.Overview.byLocation > li:hover figure img {
  opacity: 1;
}

.Business.Overview.Sleeping {
  margin-top: -15px;
}

.Business.Overview.Sleeping > li {
  margin-bottom: 0;
}

.Business.Overview.Sleeping > li article .inner {
  padding-left: 70px;
  background: url(../images/hotel.png) no-repeat 10px 5px #fff;
}

/* ===== Lijsten / Overzicht ===== */
.List.Overview.bySort > li > .province {
  font-size: 200%;
  font-weight: 300;
  height: auto;
}
.List.Overview.bySort > li > a:not(.showall) {
  height: auto;
}
.List.Overview > li > .province {
  font-weight: bold;
  font-size: 118%;
  color: inherit;
  margin-bottom: 12px;
  line-height: 1.2;
  display: block;
  clear: both;
  text-decoration: none;
}
.List.Overview > li > .province .count {
  display: none;
}

.page-hub {
  margin-top: 2rem;
}

.page-hub__section + .page-hub__section {
  margin-top: 2.5rem;
}

.page-hub__title {
  margin: 0 0 1.25rem;
  font-family: "Source Sans Pro", "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.12;
  color: #1a1c1c;
}

.page-hub__divider {
  height: 1px;
  margin: 2rem 0;
  background: rgba(42, 45, 46, 0.12);
}

.page-hub-list.List.Overview.bySort {
  margin-right: -1.25rem;
}
.page-hub-list.List.Overview.bySort > li {
  padding-right: 1.25rem;
  margin-bottom: 1.25rem;
}
.page-hub-list.List.Overview.bySort > li > a:not(.showall),
.page-hub-list.List.Overview.bySort > li > .province,
.page-hub-list.List.Overview.bySort .list-overview__title {
  display: block;
  margin-bottom: 0.875rem;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.15;
}
.page-hub-list.List.Overview.bySort ul.children,
.page-hub-list.List.Overview.bySort .list-overview__showall {
  padding: 0.5rem;
  background: #fff;
  border: 1px solid rgba(42, 45, 46, 0.12);
  border-radius: 1rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}
.page-hub-list.List.Overview.bySort ul.children > li {
  display: block;
  width: 100%;
  margin: 0;
  border-top: 1px solid rgba(42, 45, 46, 0.09);
}
.page-hub-list.List.Overview.bySort ul.children > li:first-child {
  border-top: 0;
}
.page-hub-list.List.Overview.bySort ul.children > li > a,
.page-hub-list.List.Overview.bySort .list-overview__showall {
  display: block;
  width: 100%;
  padding: 0.85rem 2.75rem 0.85rem 1rem;
  font-size: 1rem;
  line-height: 1.4;
  white-space: normal;
  word-break: break-word;
}
.page-hub-list.List.Overview.bySort .list-overview__meta {
  display: block;
  padding: 0 1rem 0.9rem;
}
.page-hub-list.List.Overview.bySort .list-overview__dagplanning {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  background: #e6f2f3;
  color: #004e5c;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}
.page-hub-list.List.Overview.bySort .list-overview__dagplanning::before {
  content: "•";
  font-size: 1rem;
  line-height: 1;
  opacity: 0.75;
}

.page-id-4537 .page-hub-intro,
.page-id-2 .page-hub-intro {
  max-width: 56rem;
}

/**
 * Inlog Modal Styling - In thema stijl
 * Gebaseerd op bestaande form styling van indeomgeving
 */
/* Modal Background */
.favorites-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

/* Modal Content - Gebaseerd op wpcf7-form styling */
.favorites-modal .modal-content {
  background: #fff;
  width: 420px;
  max-width: 100%;
  margin: 0 auto;
  position: relative;
  padding: 30px;
  border-radius: 2px 2px 15px 2px; /* Zelfde als theme forms */
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.25); /* Zelfde als theme */
  animation: modalSlideIn 0.3s ease;
}

/* Modal Header */
.favorites-modal .modal-header {
  padding: 0 0 20px 0;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 25px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.favorites-modal .modal-header h3 {
  margin: 0;
  color: #2a2d2e; /* Thema text color */
  font-size: 24px;
  font-family: "source_sans_pro", "Source Sans Pro", sans-serif;
  font-weight: 600;
}

.favorites-modal .close-modal {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #9a9b9b; /* mgrey */
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.favorites-modal .close-modal:hover {
  background: #f0f0f0;
  color: #2a2d2e;
}

/* Form Styling - Gebaseerd op theme forms */
.favorites-modal form {
  padding: 0;
}

.favorites-modal .form-group {
  padding: 0 7.5px;
  margin-bottom: 20px;
  display: block;
  overflow: hidden;
  clear: both;
}

.favorites-modal .form-group label {
  display: block;
  margin-bottom: 8px;
  color: #2a2d2e;
  font-weight: 500;
  font-family: "source_sans_pro", "Source Sans Pro", sans-serif;
  font-size: 14px;
}

.favorites-modal .form-group input {
  background: #fff;
  border: 0;
  border-bottom: 1px solid #9a9b9b; /* mgrey */
  padding: 10px 0;
  width: 100%;
  border-radius: 0;
  font-size: 16px;
  font-family: "source_sans_pro", "Source Sans Pro", sans-serif;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.favorites-modal .form-group input:hover,
.favorites-modal .form-group input:focus {
  outline: none;
  border: 0;
  border-bottom: 1px solid #28a1c5; /* cta color */
}

/* Buttons - In thema stijl */
.favorites-modal .btn {
  padding: 0.75rem 0.9375rem;
  border: none;
  cursor: pointer;
  font-weight: bold;
  transition: all 0.3s ease;
  width: 100%;
  border-radius: 4px;
  margin: 5px 0;
  font-size: 1rem;
}

.favorites-modal .btn-primary {
  background: #e91e63; /* Favorieten kleur */
  color: white;
}

.favorites-modal .btn-primary:hover {
  background: #c2185b;
}

.favorites-modal .btn-secondary {
  background: #9a9b9b; /* mgrey */
  color: white;
}

.favorites-modal .btn-secondary:hover {
  background: #2a2d2e; /* dgrey */
}

/* Modal Footer */
.favorites-modal .modal-footer {
  padding: 15px 0 0 0;
  text-align: center;
  color: #9a9b9b;
  font-size: 14px;
  border-top: 1px solid #e5e5e5;
  margin: 15px 0 0;
}

.favorites-modal .modal-footer a {
  color: #e91e63;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease;
}
.favorites-modal .modal-footer a.show-register-modal, .favorites-modal .modal-footer a.reset-login-modal {
  text-decoration: underline;
}
.favorites-modal .modal-footer a.show-register-modal:hover, .favorites-modal .modal-footer a.reset-login-modal:hover {
  text-decoration: none;
}

.favorites-modal .modal-footer a:hover {
  color: #c2185b;
  text-decoration: underline;
}

/* Loading state */
.favorites-modal .loading {
  text-align: center;
  padding: 40px 20px;
  color: #9a9b9b;
}

/* Error state */
.favorites-modal .error {
  text-align: center;
  padding: 20px;
  color: #EE3823; /* themecolor3 - red */
  background: rgba(238, 56, 35, 0.1);
  border-radius: 4px;
  margin-bottom: 20px;
}

/* Responsive */
@media (max-width: 767px) {
  .favorites-modal .modal-content {
    padding: 15px;
    margin: 10px;
  }
  .favorites-modal .form-group input {
    padding: 8px 0;
    font-size: 16px; /* Voorkom zoom op iOS */
  }
  .favorites-modal .modal-header h3 {
    font-size: 20px;
  }
}
/* Animation */
@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: translateY(-50px) scale(0.9);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
/* Prevent body scroll when modal is open */
body.modal-open {
  overflow: hidden;
}

/* Additional styling for favorites list modal */
.favorites-list-modal .modal-content {
  max-width: 700px;
  width: 100%;
}

.favorites-list-modal .favorites-content {
  padding: 0;
}

/* Share modal styling */
.share-modal .modal-content {
  max-width: 500px;
}

.share-content {
  padding: 0;
}

.share-url-container {
  display: flex;
  gap: 10px;
  margin: 15px 0;
}

.share-url-input {
  flex: 1;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #9a9b9b;
  padding: 10px 0;
  font-family: monospace;
  font-size: 14px;
  transition: all 0.3s ease;
}

.share-url-input:focus {
  outline: none;
  border-bottom: 1px solid #28a1c5;
}

.copy-url-btn {
  padding: 10px 15px;
  background: #28a1c5; /* cta color */
  color: white;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 14px;
  white-space: nowrap;
  transition: background 0.3s ease;
}

.copy-url-btn:hover {
  background: #1e8aa3;
}

/* === Mijn Plan – overzichtspagina (/mijn-plan/) + concept-canvas === */
/* ── Breadcrumb ──────────────────────────────────────────────────────────── */
.mijn-plan-breadcrumb {
  font-size: 0.8rem;
  color: #666;
  margin-bottom: 8px;
}
.mijn-plan-breadcrumb a {
  color: #666;
  text-decoration: none;
}
.mijn-plan-breadcrumb a:hover {
  color: #355150;
}
.mijn-plan-breadcrumb__sep {
  margin: 0 4px;
}

/* ── Tabs-navigatie ──────────────────────────────────────────────────────── */
.mijn-plan-tabs {
  display: flex;
  flex-direction: row;
  border-bottom: 2px solid #e0e0e0;
  margin-bottom: 16px;
  gap: 0;
}
.mijn-plan-tabs__tab {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  padding: 10px 18px;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  color: #666;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
  white-space: nowrap;
  text-align: center;
}
.mijn-plan-tabs__tab:hover {
  color: #355150;
}
.mijn-plan-tabs__tab--active {
  color: #355150;
  border-bottom-color: #355150;
}

/* ── Filter- en sorteerbalk ──────────────────────────────────────────────── */
.mijn-plan-filters {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.mijn-plan-filters__select {
  appearance: none;
  -webkit-appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 7px 32px 7px 10px;
  font-family: inherit;
  font-size: 0.85rem;
  color: #333;
  cursor: pointer;
  transition: border-color 0.15s;
  min-width: 140px;
}
.mijn-plan-filters__select:focus {
  outline: none;
  border-color: #355150;
  box-shadow: 0 0 0 3px rgba(53, 81, 80, 0.1);
}
.mijn-plan-filters__select--disabled, .mijn-plan-filters__select:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* ── Panels ──────────────────────────────────────────────────────────────── */
.mijn-plan-panels {
  min-height: 200px;
}

.mijn-plan-tab-panel[hidden] {
  display: none;
}

/* ── Grid van kaarten ────────────────────────────────────────────────────── */
.mijn-plan-grid-list {
  padding: 0;
  margin-bottom: 30px;
}
.mijn-plan-grid-list > li {
  margin-bottom: 20px;
}

/* ── Kaart (plek en dagplan) ─────────────────────────────────────────────── */
.mijn-plan-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  overflow: hidden;
  height: 100%;
  transition: box-shadow 0.18s, border-color 0.18s;
}
.mijn-plan-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  border-color: rgba(53, 81, 80, 0.3);
}
.mijn-plan-card__link {
  display: block;
  flex: 1;
  text-decoration: none;
  color: inherit;
  padding: 16px 44px 16px 16px;
}
.mijn-plan-card__place {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #355150;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}
.mijn-plan-card__title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.35;
  color: #333;
}
.mijn-plan-card__title a {
  color: inherit;
  text-decoration: none;
}
.mijn-plan-card__title a:hover, .mijn-plan-card__title a:focus-visible {
  color: #355150;
  text-decoration: none;
}
.mijn-plan-card__body {
  display: flex;
  flex-direction: column;
}
.mijn-plan-card__remove {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 4;
  width: 28px;
  height: 28px;
  min-width: 28px;
  aspect-ratio: 1;
  flex-shrink: 0;
  box-sizing: border-box;
  padding: 0;
  line-height: 1;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  border: 1.5px solid rgba(53, 81, 80, 0.22);
  color: #666;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.mijn-plan-card__remove * {
  pointer-events: none;
}
.mijn-plan-card__remove svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
.mijn-plan-card__remove:hover {
  background: #fde8e8;
  border-color: #c0392b;
  color: #c0392b;
}
.mijn-plan-card__remove-label {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.mijn-plan-card:not(.mijn-plan-card--with-thumb) .mijn-plan-card__body {
  padding: 16px 44px 16px 16px;
}
.mijn-plan-card--plan:not(.mijn-plan-card--with-thumb) .mijn-plan-card__body::before {
  content: "📅";
  display: block;
  font-size: 1.2rem;
  margin-bottom: 6px;
}
.mijn-plan-card--concept:not(.mijn-plan-card--with-thumb) .mijn-plan-card__body::before {
  content: "✨";
  display: block;
  font-size: 1.2rem;
  margin-bottom: 6px;
}
.mijn-plan-card--selected {
  border-color: #355150;
  box-shadow: 0 0 0 2px rgba(53, 81, 80, 0.25);
}
.mijn-plan-card__checkbox {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 5;
  width: 28px;
  height: 28px;
  min-width: 28px;
  aspect-ratio: 1;
  flex-shrink: 0;
  box-sizing: border-box;
  padding: 0;
  line-height: 1;
  border-radius: 50%;
  background: #fff;
  border: 2px solid rgba(53, 81, 80, 0.45);
  color: rgba(53, 81, 80, 0.55);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
  opacity: 1;
  pointer-events: auto;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
}
.mijn-plan-card__checkbox * {
  pointer-events: none;
}
.mijn-plan-card__checkbox svg {
  width: 14px;
  height: 14px;
  display: block;
}
.mijn-plan-card__checkbox--visible {
  opacity: 1;
  pointer-events: auto;
}
.mijn-plan-card__checkbox:hover, .mijn-plan-card__checkbox:focus-visible {
  border-color: #355150;
  color: #355150;
  outline: none;
}
.mijn-plan-card__checkbox[aria-checked=true] {
  background: #355150;
  border-color: #355150;
  color: #fff;
  box-shadow: 0 2px 6px rgba(53, 81, 80, 0.35);
}

/* ── Kaart-variant met thumbnail ────────────────────────────────────────── */
.mijn-plan-card--with-thumb .mijn-plan-card__link {
  padding: 0;
}
.mijn-plan-card--with-thumb .mijn-plan-card__thumb {
  position: relative;
  aspect-ratio: 16/9;
  background: #eef3f2;
  overflow: hidden;
}
.mijn-plan-card--with-thumb .mijn-plan-card__thumb > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mijn-plan-card--with-thumb .mijn-plan-card__thumb .dp-collage {
  position: absolute;
  inset: 0;
}
.mijn-plan-card--with-thumb .mijn-plan-card__thumb--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(53, 81, 80, 0.45);
}
.mijn-plan-card--with-thumb .mijn-plan-card__body {
  padding: 12px 44px 14px 14px;
  gap: 4px;
}
.mijn-plan-card--with-thumb .mijn-plan-card__themas {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}
.mijn-plan-card--with-thumb .mijn-plan-card__thema {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 8px;
  font-size: 0.72rem;
  font-weight: 600;
  border-radius: 999px;
  border: 1px solid currentColor;
  background: rgba(255, 255, 255, 0.85);
  line-height: 1.4;
}

/* ── Lege staat ──────────────────────────────────────────────────────────── */
.mijn-plan-empty {
  padding: 40px 20px;
  text-align: center;
}
.mijn-plan-empty__icon {
  display: block;
  font-size: 2.5rem;
  margin-bottom: 12px;
  opacity: 0.5;
}
.mijn-plan-empty__title {
  font-size: 1.15rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 8px;
}
.mijn-plan-empty__text {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 20px;
  max-width: 340px;
  margin-left: auto;
  margin-right: auto;
}
.mijn-plan-empty__actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.mijn-plan-empty__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 20px;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
  border: none;
  font-family: inherit;
}
.mijn-plan-empty__btn--primary {
  background: #355150;
  color: #fff;
}
.mijn-plan-empty__btn--primary:hover {
  background: #283e3d;
  color: #fff;
}
.mijn-plan-empty__btn--secondary {
  background: #f5f5f5;
  color: #333;
  border: 1px solid #e0e0e0;
}
.mijn-plan-empty__btn--secondary:hover {
  background: rgb(232.25, 232.25, 232.25);
}

/* ── Side-column CTA "Plan jouw dag" ─────────────────────────────────────── */
.mijn-plan-cta {
  position: sticky;
  top: 20px;
  border-radius: 14px;
  padding: 0;
  overflow: hidden;
  background: linear-gradient(135deg, #355150 0%, #283e3d 100%);
  color: #fff;
  box-shadow: 0 6px 20px rgba(40, 62, 61, 0.18);
  margin-top: 8px;
}
.mijn-plan-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 55%), radial-gradient(circle at 10% 110%, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 60%);
  pointer-events: none;
}
.mijn-plan-cta__inner {
  position: relative;
  padding: 22px 22px 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.mijn-plan-cta__icon {
  font-size: 1.6rem;
  line-height: 1;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}
.mijn-plan-cta__title {
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.2;
  margin: 0;
  color: #fff;
}
.mijn-plan-cta__text {
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0 0 6px;
  opacity: 0.92;
}
.mijn-plan-cta__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin-top: 4px;
}
.mijn-plan-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 46px;
  padding: 11px 18px;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s, box-shadow 0.15s, transform 0.15s;
  border: 2px solid transparent;
}
.mijn-plan-cta__btn-icon {
  font-size: 1.05rem;
  line-height: 1;
}
.mijn-plan-cta__btn--primary {
  background: #fff;
  color: #283e3d;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16);
}
.mijn-plan-cta__btn--primary:hover, .mijn-plan-cta__btn--primary:focus-visible {
  background: #f3faf7;
  color: #283e3d;
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.22);
  transform: translateY(-1px);
  outline: none;
}
.mijn-plan-cta__btn--primary:active {
  transform: translateY(0);
}
.mijn-plan-cta__btn--secondary {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.55);
}
.mijn-plan-cta__btn--secondary:hover, .mijn-plan-cta__btn--secondary:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
  color: #fff;
  outline: none;
}

/* ── Multi-select action-bar ─────────────────────────────────────────────── */
.mp-select-bar {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 500;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #283e3d;
  color: #fff;
  border-radius: 40px;
  padding: 10px 16px 10px 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.22);
  white-space: nowrap;
  animation: mp-bar-in 0.2s ease;
}
.mp-select-bar[hidden] {
  display: none;
}
.mp-select-bar__count {
  font-size: 0.88rem;
  font-weight: 600;
  opacity: 0.9;
}
.mp-select-bar__btn {
  background: #fff;
  color: #283e3d;
  border: none;
  border-radius: 20px;
  padding: 7px 16px;
  font-size: 0.84rem;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.15s;
}
.mp-select-bar__btn:hover {
  background: rgb(234.6, 234.6, 234.6);
}
.mp-select-bar__cancel {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.2rem;
  cursor: pointer;
  line-height: 1;
  padding: 2px 4px;
}
.mp-select-bar__cancel:hover {
  color: #fff;
}

@keyframes mp-bar-in {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
/* ── Concept-canvas pagina (/mijn-plan/concept/<id>/) ────────────────────── */
.concept-canvas-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px 40px;
}

.concept-canvas__breadcrumb {
  font-size: 0.82rem;
  margin: 12px 0 16px;
}
.concept-canvas__breadcrumb a {
  color: #355150;
  text-decoration: none;
}
.concept-canvas__breadcrumb a:hover {
  text-decoration: underline;
}

.concept-canvas__topbar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 0 16px;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 20px;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 100;
  transition: box-shadow 0.2s;
}
.concept-canvas__topbar--floating {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
}

.concept-canvas__title {
  flex: 1;
  font-size: 1.25rem;
  font-weight: 700;
  color: #333;
  margin: 0;
  padding: 4px 8px;
  border-radius: 4px;
  border: 1px solid transparent;
  min-width: 160px;
  outline: none;
}
.concept-canvas__title:focus {
  border-color: #355150;
  box-shadow: 0 0 0 3px rgba(53, 81, 80, 0.12);
}

.concept-canvas__topbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.concept-canvas__to-plan {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #355150;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 9px 18px;
  font-size: 0.875rem;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.15s;
}
.concept-canvas__to-plan:hover {
  background: #283e3d;
}

.concept-canvas__menu {
  position: relative;
}

.concept-canvas__menu-toggle {
  background: none;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 8px 10px;
  cursor: pointer;
  color: #666;
  display: flex;
  align-items: center;
  transition: background 0.15s, border-color 0.15s;
}
.concept-canvas__menu-toggle:hover {
  background: #f5f5f5;
  border-color: #bbb;
}

.concept-canvas__menu-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  z-index: 200;
  min-width: 200px;
  overflow: hidden;
}
.concept-canvas__menu-dropdown[hidden] {
  display: none;
}

.concept-canvas__menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 11px 16px;
  background: none;
  border: none;
  font-size: 0.88rem;
  font-family: inherit;
  color: #333;
  cursor: pointer;
  text-align: left;
  transition: background 0.12s;
}
.concept-canvas__menu-item:hover {
  background: #f5f5f5;
}
.concept-canvas__menu-item--active {
  font-weight: 700;
  color: #355150;
}

.concept-canvas__menu-hint {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0;
  padding: 10px 16px;
  background: rgba(53, 81, 80, 0.06);
  border-bottom: 1px solid #e0e0e0;
  font-size: 0.78rem;
  line-height: 1.35;
  color: #666;
}

/* ── Canvas layout ───────────────────────────────────────────────────────── */
.concept-canvas__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}

.concept-map-wrap {
  position: sticky;
  top: 72px;
}

.concept-map .dagplanning-map__canvas {
  height: 380px;
}

/* ── Timeline / slots ────────────────────────────────────────────────────── */
.concept-slot {
  margin-bottom: 28px;
  border: 2px dashed transparent;
  border-radius: 8px;
  padding: 8px;
  transition: border-color 0.15s, background 0.15s;
}
.concept-slot[data-dragover] {
  border-color: #355150;
  background: rgba(53, 81, 80, 0.04);
}
.concept-slot__header {
  font-size: 1rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 12px;
  padding-bottom: 6px;
  border-bottom: 2px solid #e8f4ef;
}
.concept-slot__time {
  font-weight: 400;
  font-size: 0.82rem;
  color: #666;
}
.concept-slot__items {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.concept-slot__empty {
  color: #666;
  font-size: 0.85rem;
  text-align: center;
  padding: 16px;
  background: #f5f5f5;
  border-radius: 6px;
}

/* ── Concept stop-kaartje (draggable wrapper rond .dagplanning-uitje-card) ─ */
.concept-stop {
  position: relative;
  cursor: grab;
  transition: box-shadow 0.15s, transform 0.15s;
}
.concept-stop:active {
  cursor: grabbing;
}
.concept-stop .dagplanning-uitje-card {
  padding-right: 34px;
}
.concept-stop__drag {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.85);
  color: #999;
  font-size: 1.05rem;
  line-height: 1;
  cursor: grab;
  user-select: none;
  transition: background 0.15s, color 0.15s;
  pointer-events: none;
}
.concept-stop:hover .concept-stop__drag {
  background: #fff;
  color: #355150;
}

/* ── 'Krap' chip ─────────────────────────────────────────────────────────── */
.concept-tight-chip {
  display: inline-flex;
  align-items: center;
  background: #fff3cd;
  color: #856404;
  border: 1px solid #ffc107;
  border-radius: 10px;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 7px;
  margin-left: 4px;
  white-space: nowrap;
}

/* ── Share-toast ─────────────────────────────────────────────────────────── */
.concept-share-toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 600;
  background: #1a1a1a;
  color: #fff;
  border-radius: 8px;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.875rem;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);
  max-width: calc(100vw - 32px);
}
.concept-share-toast[hidden] {
  display: none;
}
.concept-share-toast__close {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.1rem;
  cursor: pointer;
  padding: 0 2px;
  line-height: 1;
}
.concept-share-toast__close:hover {
  color: #fff;
}

/* ── Plan-render pagina (/mijn-plan/plan/<id>/) ──────────────────────────── */
/* Gebruikt de dagplanning-template-default layout (hero + 2-koloms stops/kaart).
   Enkele specifieke aanpassingen voor de persoonlijke-plan context. */
.concept-plan-wrap {
  padding-bottom: 60px;
}

.concept-plan-bar {
  margin-bottom: 24px;
}

.concept-plan__intro {
  margin-top: 12px;
}
.concept-plan__intro[hidden] {
  display: none;
}

.dp-action.dp-action--disabled,
.dp-action[aria-disabled=true] {
  opacity: 0.45;
  pointer-events: none;
  cursor: not-allowed;
}

.concept-plan-stops {
  margin-top: 0;
}

.concept-not-found {
  padding: 40px 0;
  text-align: center;
  color: #666;
  font-size: 0.95rem;
}
.concept-not-found a {
  color: #355150;
}

/* ── Persoonlijke-dagplanning popup (dagplanning-template stijl) ─────────── */
.mijnplan-plan-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 40px 20px;
  overflow-y: auto;
}
.mijnplan-plan-modal__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(20, 30, 30, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  cursor: pointer;
}
.mijnplan-plan-modal__panel {
  position: relative;
  background: #fff;
  width: 100%;
  max-width: 1080px;
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  animation: mijnplanPlanModalIn 0.22s ease;
}
.mijnplan-plan-modal__hero {
  position: relative;
  padding: 40px 32px 28px;
  background: linear-gradient(135deg, #006879 0%, #00a4be 100%);
  color: #fff;
}
.mijnplan-plan-modal__hero.has-image {
  background-size: cover;
  background-position: center;
}
.mijnplan-plan-modal__hero.has-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.65) 100%);
}
.mijnplan-plan-modal__hero.has-image > * {
  position: relative;
}
.mijnplan-plan-modal__hero .mijn-plan-card__themas {
  margin-top: 12px;
}
.mijnplan-plan-modal__hero .mijn-plan-card__themas .mijn-plan-card__thema {
  background: rgba(255, 255, 255, 0.88);
}
.mijnplan-plan-modal__tag {
  display: inline-block;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.22);
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: 10px;
}
.mijnplan-plan-modal__title {
  margin: 0;
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 800;
  line-height: 1.2;
}
.mijnplan-plan-modal__actions {
  padding: 14px 24px;
  border-bottom: 1px solid #e0e0e0;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.mijnplan-plan-modal__actions .dp-action {
  font-size: 0.82rem;
  padding: 7px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  color: #355150;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.mijnplan-plan-modal__actions .dp-action:hover {
  background: rgba(53, 81, 80, 0.05);
  border-color: #355150;
  color: #283e3d;
}
.mijnplan-plan-modal__close {
  position: absolute;
  top: 17px;
  right: 17px;
  transform: translate(50%, -50%);
  z-index: 3;
  width: 34px;
  height: 34px;
  min-width: 34px;
  aspect-ratio: 1;
  flex-shrink: 0;
  box-sizing: border-box;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.22);
  transition: background 0.15s;
}
.mijnplan-plan-modal__close:hover {
  background: rgba(0, 0, 0, 0.75);
}
.mijnplan-plan-modal__body {
  padding: 24px 24px 28px;
}
.mijnplan-plan-modal__card {
  box-shadow: none;
  border: 1px solid #e0e0e0;
}
.mijnplan-plan-modal__hop {
  padding: 6px 0;
}
.mijnplan-plan-modal__empty {
  text-align: center;
  color: #666;
  padding: 30px 0;
}
.mijnplan-plan-modal .dagplanning-uitjes__layout {
  display: block;
}
.mijnplan-plan-modal .dagplanning-uitjes__map-col {
  margin-top: 20px;
}
@media (min-width: 992px) {
  .mijnplan-plan-modal .dagplanning-uitjes__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
    align-items: start;
  }
  .mijnplan-plan-modal .dagplanning-uitjes__map-col {
    margin-top: 0;
    position: sticky;
    top: 16px;
  }
}
.mijnplan-plan-modal .dagplanning-map__canvas {
  height: 360px;
}
@media (max-width: 640px) {
  .mijnplan-plan-modal {
    padding: 14px 10px;
  }
  .mijnplan-plan-modal__panel {
    border-radius: 14px;
  }
  .mijnplan-plan-modal__hero {
    padding: 28px 20px 22px;
  }
  .mijnplan-plan-modal__body {
    padding: 16px 16px 22px;
  }
  .mijnplan-plan-modal .dagplanning-map__canvas {
    height: 260px;
  }
}

body.mijnplan-plan-modal-open {
  overflow: hidden;
}

@keyframes mijnplanPlanModalIn {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Bij print: modal full-width weergeven, rest van de site verbergen */
@media print {
  body.mijnplan-plan-modal-open > :not(.mijnplan-plan-modal) {
    display: none !important;
  }
  .mijnplan-plan-modal {
    position: static !important;
    padding: 0 !important;
    display: block !important;
  }
  .mijnplan-plan-modal__backdrop {
    display: none !important;
  }
  .mijnplan-plan-modal__panel {
    box-shadow: none !important;
    padding: 0 !important;
    max-width: 100% !important;
  }
  .mijnplan-plan-modal__actions,
  .mijnplan-plan-modal__close {
    display: none !important;
  }
}
/* === Mijn Plan – lokaal opslaan zonder loginblokkade === */
/* ── Positionering artikelen ──────────────────────────────────────────────── */
.Business.Detail.linkdiv,
.Category.Detail.linkdiv {
  position: relative;
}

/* ── .fav-toggle: hart-knop op card-niveau ────────────────────────────────── */
.fav-toggle {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  width: 34px;
  height: 34px;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  border: 1.5px solid rgba(53, 81, 80, 0.28);
  color: #355150;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.18s, border-color 0.18s, color 0.18s, transform 0.14s;
}
.fav-toggle * {
  pointer-events: none;
}
.fav-toggle svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: fill 0.18s, stroke 0.18s;
}
.fav-toggle:hover {
  background: rgba(53, 81, 80, 0.08);
  border-color: #355150;
  transform: scale(1.1);
}
.fav-toggle--saved {
  background: #355150;
  border-color: #355150;
  color: #fff;
}
.fav-toggle--saved svg {
  fill: #fff;
  stroke: #fff;
}
.fav-toggle--saved:hover {
  background: #283e3d;
  border-color: #283e3d;
}

/* ── .dp-plan-save: "Bewaar dit plan" in sticky action-bar ───────────────── */
.dp-plan-save {
  color: #355150;
  border-color: #355150;
  font-weight: 600;
}
.dp-plan-save svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
.dp-plan-save:hover {
  background: rgba(53, 81, 80, 0.06);
  border-color: #283e3d;
  color: #283e3d;
}
.dp-plan-save--saved {
  background: #355150;
  border-color: #355150;
  color: #fff;
}
.dp-plan-save--saved svg {
  fill: #fff;
  stroke: #fff;
}
.dp-plan-save--saved:hover {
  background: #283e3d;
  border-color: #283e3d;
  color: #fff;
}

/* ── .dp-stop-save: per-stop hart naast H3 ────────────────────────────────── */
.dp-stop-save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: none;
  border: 1.5px solid rgba(53, 81, 80, 0.22);
  color: rgba(53, 81, 80, 0.55);
  cursor: pointer;
  flex-shrink: 0;
  margin-left: 5px;
  vertical-align: middle;
  transition: background 0.14s, border-color 0.14s, color 0.14s;
}
.dp-stop-save * {
  pointer-events: none;
}
.dp-stop-save svg {
  width: 11px;
  height: 11px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.dp-stop-save:hover {
  background: rgba(53, 81, 80, 0.07);
  border-color: #355150;
  color: #355150;
}
.dp-stop-save--saved {
  background: rgba(53, 81, 80, 0.12);
  border-color: #355150;
  color: #355150;
}
.dp-stop-save--saved svg {
  fill: currentColor;
}

/* ── Mijnplan-badge in header ─────────────────────────────────────────────── */
button.show-login-modal,
button.favorites-header-btn {
  position: relative;
}

.mijnplan-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 16px;
  height: 16px;
  border-radius: 8px;
  background: #e91e63;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
  padding: 0 3px;
  pointer-events: none;
  box-sizing: content-box;
}
.mijnplan-badge[hidden] {
  display: none;
}

/* ── Niet-blokkerende login-banner ────────────────────────────────────────── */
.mijnplan-login-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9998;
  background: #fff;
  border-top: 1px solid #e0e0e0;
  box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.08);
  padding: 12px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  font-family: "source_sans_pro", "Source Sans Pro", sans-serif;
  font-size: 0.88rem;
}
.mijnplan-login-banner__text {
  flex: 1;
  color: #333;
  min-width: 200px;
}
.mijnplan-login-banner__actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-shrink: 0;
}
.mijnplan-login-banner__dismiss {
  background: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 5px 14px;
  font-size: 0.82rem;
  cursor: pointer;
  color: #666;
  transition: background 0.15s;
}
.mijnplan-login-banner__dismiss:hover {
  background: #f5f5f5;
}
.mijnplan-login-banner__login {
  display: inline-block;
  background: #355150;
  color: #fff;
  border-radius: 4px;
  padding: 5px 14px;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s;
}
.mijnplan-login-banner__login:hover {
  background: #283e3d;
  color: #fff;
}

/* ── Inline login-modal voor Mijn plan ────────────────────────────────────── */
.mijnplan-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  font-family: "source_sans_pro", "Source Sans Pro", sans-serif;
}
.mijnplan-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 30, 30, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.mijnplan-modal__panel {
  position: relative;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  max-width: 420px;
  width: 100%;
  padding: 28px 28px 24px;
  animation: mijnplanModalIn 0.22s ease;
}
.mijnplan-modal__close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  font-size: 26px;
  line-height: 1;
  color: #888;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.mijnplan-modal__close:hover {
  background: #f2f2f2;
  color: #222;
}
.mijnplan-modal__title {
  margin: 0 0 6px;
  font-size: 1.25rem;
  font-weight: 700;
  color: #355150;
}
.mijnplan-modal__lead {
  margin: 0 0 18px;
  color: #4a5a5a;
  font-size: 0.92rem;
  line-height: 1.45;
}
.mijnplan-modal__form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mijnplan-modal__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.85rem;
  color: #2f3f3f;
  font-weight: 600;
}
.mijnplan-modal__field input {
  width: 100%;
  padding: 10px 12px;
  border: 1.5px solid #d6dcdc;
  border-radius: 8px;
  font-size: 0.95rem;
  font-family: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
  box-sizing: border-box;
}
.mijnplan-modal__field input:focus {
  outline: none;
  border-color: #355150;
  box-shadow: 0 0 0 3px rgba(53, 81, 80, 0.15);
}
.mijnplan-modal__error {
  background: #ffecec;
  border: 1px solid #f5b6b6;
  color: #992222;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 0.85rem;
}
.mijnplan-modal__submit {
  margin-top: 4px;
  padding: 11px 16px;
  border: 0;
  border-radius: 8px;
  background: #355150;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
}
.mijnplan-modal__submit:hover:not(:disabled) {
  background: #283e3d;
}
.mijnplan-modal__submit:disabled {
  opacity: 0.7;
  cursor: wait;
}
.mijnplan-modal__hint {
  margin: 14px 0 0;
  text-align: center;
  font-size: 0.78rem;
  color: #8a9a9a;
}

body.mijnplan-modal-open {
  overflow: hidden;
}

@keyframes mijnplanModalIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.mobile-bottom-nav {
  display: none;
}

/* Verberg nav als een modal open is (class wordt door JS gezet) */
body.modal-open .mobile-bottom-nav,
body.pmd-result-open .mobile-bottom-nav,
body.intent-archive--popup-open .mobile-bottom-nav {
  display: none !important;
}

/* Toggleable mobiele drawer (hamburger-menu) staat altijd boven de
 * sticky bottom-nav — en zonder deze regel zou de bar nog door de
 * backdrop heen tapbaar zijn in sommige browsers. Verbergen is dan
 * eenduidiger dan z-index-gestapel. */
body.menu-open .mobile-bottom-nav {
  display: none !important;
}

/*
 * Ook verbergen zodra de plaats-/categorie-keuze popup (.form-control
 * .dropdown in de hero-Filters) open staat — die leeft binnen
 * `.banner` (eigen stacking context) dus z-index alleen is
 * onvoldoende om boven de sticky bar uit te komen. Met `:has()` is het
 * sluiten inclusief Bootstrap's outside-click handler vanzelf correct.
 */
body:has(.plaats-search-dropdown.open) .mobile-bottom-nav,
body:has(.banner .form-control.dropdown.open) .mobile-bottom-nav {
  display: none !important;
}

/* Voorheen verborg de bottom-nav op dagplanning single pagina's omdat de
 * sticky actiebalk onderaan de plek innam. Die balk is niet meer sticky,
 * dus de standaard bottom-nav mag gewoon zichtbaar blijven. */
.mobile-bottom-nav__tab {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 10px 4px;
  background: none;
  border: 0;
  cursor: pointer;
  color: #666;
  text-decoration: none;
  font-size: 0.65rem;
  font-weight: 600;
  line-height: 1.2;
  transition: color 0.15s, background 0.15s;
  -webkit-tap-highlight-color: transparent;
  min-height: 56px;
}
.mobile-bottom-nav__tab:hover, .mobile-bottom-nav__tab:focus-visible, .mobile-bottom-nav__tab.is-active {
  color: #355150;
  background: rgba(53, 81, 80, 0.04);
  text-decoration: none;
}
.mobile-bottom-nav__tab__icon {
  font-size: 1.3rem;
  line-height: 1;
}
.mobile-bottom-nav__tab__label {
  display: block;
}

.logo {
  overflow: hidden;
}
.logo img {
  max-width: 100%;
}
.logo {
  width: 240px;
  padding: 6px 0 8px;
}
@media (max-width: 1140px) {
  .logo {
    width: 220px;
  }
}

/* header */
.site-header {
  position: relative;
  z-index: 999;
}
.site-header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.site-header .navbar-nav > li:not(.linkdiv) + .linkdiv {
  margin-left: 20px;
}
.site-header .navbar-nav > li > a {
  padding: 15px 10px;
  color: #2a2d2e;
  background: none transparent;
  position: relative;
  font-weight: bold;
  font-size: 0.9375rem;
}
.site-header .navbar-nav > li > a::before {
  content: none;
  display: none;
}
.site-header .navbar-nav > li > a:focus-visible {
  outline: 2px solid #28a1c5;
  outline-offset: -2px;
  border-radius: 3px;
}
.site-header .navbar-nav > li.active > a, .site-header .navbar-nav > li > a:hover {
  color: #2a2d2e;
  background: none transparent;
}
@media (max-width: 1140px) {
  .site-header .navbar-nav > li > a {
    padding-left: 8px;
    padding-right: 8px;
  }
}
@media (max-width: 1140px) {
  .site-header .navbar-nav {
    margin-right: -5px;
  }
}

/* ===== "In de buurt" resultatenpagina (page-geolocatie.php) =====
   Hero, prompt-view, postcode/geo-inputs en listings die een homepage-
   achtige look nabootsen maar dan gericht op de locatie van de bezoeker. */
.nearby-page {
  display: block;
}
.nearby-page__prompt {
  max-width: 680px;
  margin: 40px auto;
  padding: 36px 32px 32px;
  background: linear-gradient(180deg, #fff 0%, rgba(53, 81, 80, 0.03) 100%);
  border: 1px solid rgba(26, 28, 28, 0.08);
  border-radius: 20px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
  text-align: center;
}
.nearby-page__prompt-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(53, 81, 80, 0.08);
  color: #355150;
  margin-bottom: 18px;
}
.nearby-page__prompt-title {
  font-size: 1.6rem;
  line-height: 1.15;
  margin: 0 0 10px;
  color: #2a2d2e;
}
.nearby-page__prompt-lead {
  color: #666;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0 auto 24px;
  max-width: 460px;
}
.nearby-page__error {
  color: #c2185b;
  background: rgba(194, 24, 91, 0.08);
  border: 1px solid rgba(194, 24, 91, 0.2);
  padding: 10px 14px;
  border-radius: 10px;
  margin: 0 0 18px;
  font-size: 0.95rem;
}
.nearby-page__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.nearby-page__geo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #355150;
  color: #fff;
  border: 1px solid #355150;
  border-radius: 12px;
  padding: 12px 22px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  text-align: center;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.12s ease;
}
.nearby-page__geo-btn:hover, .nearby-page__geo-btn:focus-visible {
  background: rgb(47.7, 72.9, 72);
  border-color: rgb(47.7, 72.9, 72);
}
.nearby-page__geo-btn.loading {
  pointer-events: none;
  cursor: progress;
}
.nearby-page__geo-btn.loading svg {
  animation: nearby-btn-spin 0.9s linear infinite;
}
.nearby-page__geo-btn.is-denied {
  background: rgba(194, 24, 91, 0.9);
  border-color: rgba(194, 24, 91, 0.9);
}
.nearby-page__geo-btn--compact {
  padding: 8px 14px;
  font-size: 0.9rem;
  background: #fff;
  color: #355150;
  border-color: rgba(53, 81, 80, 0.5);
}
.nearby-page__geo-btn--compact:hover, .nearby-page__geo-btn--compact:focus-visible {
  background: rgba(53, 81, 80, 0.06);
  color: #355150;
  border-color: #355150;
}
.nearby-page__divider {
  color: #999;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.nearby-page__form, .nearby-page__change {
  width: 100%;
  max-width: 420px;
  text-align: left;
}
.nearby-page__change {
  margin-top: 18px;
  max-width: 100%;
}
.nearby-page__label, .nearby-page__change-label {
  display: block;
  font-weight: 600;
  font-size: 0.85rem;
  margin-bottom: 6px;
  color: #2a2d2e;
}
.nearby-page__input-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
}
.nearby-page__input {
  flex: 1 1 160px;
  min-width: 0;
  border: 1px solid #dbe7e5;
  border-radius: 10px;
  padding: 11px 14px;
  font-size: 1rem;
  color: #2a2d2e;
  background: #fff;
}
.nearby-page__input:focus {
  outline: none;
  border-color: #355150;
  box-shadow: 0 0 0 3px rgba(53, 81, 80, 0.1);
}
.nearby-page__submit {
  background: #355150;
  color: #fff;
  border: 0;
  border-radius: 10px;
  padding: 11px 22px;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  text-align: center;
  transition: background 0.18s ease;
}
.nearby-page__submit:hover, .nearby-page__submit:focus-visible {
  background: rgb(46.64, 71.28, 70.4);
}
.nearby-page {
  /* ─── Hero op resultatenpagina ──────────────────────────────── */
}
.nearby-page__hero {
  background: linear-gradient(180deg, rgba(53, 81, 80, 0.05) 0%, #fff 100%);
  border-bottom: 1px solid rgba(26, 28, 28, 0.06);
  padding: 36px 0 28px;
}
.nearby-page__hero-inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
}
.nearby-page__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #355150;
  font-size: 0.85rem;
  font-weight: 600;
  margin: 0 0 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.nearby-page__eyebrow svg {
  color: #355150;
}
.nearby-page__location {
  color: #2a2d2e;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}
.nearby-page__title {
  font-size: 1.9rem;
  line-height: 1.15;
  margin: 0 0 8px;
  color: #2a2d2e;
}
.nearby-page__lead {
  color: #555;
  font-size: 1rem;
  line-height: 1.55;
  margin: 0 0 18px;
}
.nearby-page__change {
  display: block;
  background: #fff;
  border: 1px solid rgba(26, 28, 28, 0.08);
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}
.nearby-page {
  /* ─── Intent chips (kopie van homepage-stijl) ───────────────── */
}
.nearby-page__intent {
  max-width: 1200px;
  margin: 26px auto 10px;
  padding: 0 20px;
}
.nearby-page__section-title {
  font-size: 1.3rem;
  margin: 0 0 14px;
  color: #2a2d2e;
}
.nearby-page__intent-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.nearby-page__intent-tile {
  display: block;
}
.nearby-page__intent-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 14px 10px;
  background: #fff;
  border: 1px solid rgba(26, 28, 28, 0.08);
  border-radius: 14px;
  color: #2a2d2e;
  text-decoration: none;
  text-align: center;
  font-size: 0.9rem;
  font-weight: 600;
  transition: border-color 0.18s ease, transform 0.12s ease, box-shadow 0.18s ease;
}
.nearby-page__intent-link:hover, .nearby-page__intent-link:focus-visible {
  border-color: var(--intent-color, #355150);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
  color: #2a2d2e;
}
.nearby-page__intent-icon {
  font-size: 1.6rem;
  line-height: 1;
  display: inline-block;
}
.nearby-page__intent-label {
  display: block;
  line-height: 1.2;
}
.nearby-page {
  /* ─── Dagplanning-kaarten ──────────────────────────────────── */
}
.nearby-page__dagplan {
  margin: 28px 0 10px;
}
.nearby-page__dagplan-grid {
  margin-bottom: 8px;
}
.nearby-page__dagplan-grid > li {
  padding-bottom: 14px;
}
.nearby-page__overview {
  margin-top: 24px;
  /* Horizontale scroll-lijsten per bucket: elke tegel krijgt dezelfde
     breedte en hoogte zodat de rij een rustig raster vormt in plaats
     van kaarten die per item variëren op basis van tekst of thumbnail. */
}
.nearby-page__overview .horizontal-container {
  overflow: visible;
}
.nearby-page__overview .horizontal-outer {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 2px;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.nearby-page__overview .horizontal-outer::-webkit-scrollbar {
  display: none;
}
.nearby-page__overview .horizontal-inner {
  display: block;
  min-width: 0;
}
.nearby-page__overview .flex-grid {
  flex-wrap: nowrap;
  gap: 20px;
  align-items: stretch;
}
.nearby-page__overview .flex-grid > li {
  flex: 0 0 280px;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  display: flex;
  padding: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.nearby-page__overview .flex-grid > li > article.Business.Detail {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.nearby-page__overview .flex-grid > li > article.Business.Detail > figure {
  margin: 0;
  aspect-ratio: 3/1;
  overflow: hidden;
  background: #eee;
}
.nearby-page__overview .flex-grid > li > article.Business.Detail > figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.nearby-page__overview .flex-grid > li.last {
  flex: 0 0 1px;
  width: 1px;
  min-width: 1px;
  max-width: 1px;
  padding: 0;
}
.nearby-page__overview-title {
  font-size: 1.25rem;
  margin: 24px 0 12px;
}
.nearby-page__empty {
  background: #fff;
  border: 1px dashed rgba(26, 28, 28, 0.15);
  border-radius: 16px;
  padding: 36px 22px;
  text-align: center;
  color: #555;
}
.nearby-page__empty h2 {
  margin: 0 0 8px;
  font-size: 1.3rem;
  color: #2a2d2e;
}

.nearby-dagplan-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(26, 28, 28, 0.08);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.18s ease, transform 0.12s ease, box-shadow 0.18s ease;
}
.nearby-dagplan-card:hover, .nearby-dagplan-card:focus-within {
  border-color: rgba(53, 81, 80, 0.45);
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}
.nearby-dagplan-card__link {
  color: #2a2d2e;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.nearby-dagplan-card__media {
  margin: 0;
  aspect-ratio: 5/3;
  background: #eee;
}
.nearby-dagplan-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.nearby-dagplan-card__body {
  padding: 12px 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.nearby-dagplan-card__distance {
  align-self: flex-start;
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  background: rgba(53, 81, 80, 0.08);
  color: #355150;
  font-size: 0.75rem;
  font-weight: 700;
}
.nearby-dagplan-card__title {
  font-size: 1rem;
  line-height: 1.3;
  margin: 0;
  color: #2a2d2e;
}

/* ===== "Dagje uit in jouw buurt" CTA-band =====
   Gebruikt onderaan /bestemmingen en /vakantieparken-hotels. De knop gedraagt
   zich als de header-knop "In de buurt" (geolocatie + postcode-modal fallback). */
.nearby-cta-band {
  margin: 48px 0;
  clear: both;
}
.nearby-cta-band__card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  padding: 32px;
  border-radius: 28px;
  color: #fff;
  background: linear-gradient(135deg, #006879 0%, #00a4be 100%);
  box-shadow: 0 24px 48px rgba(0, 104, 121, 0.18);
}
.nearby-cta-band__intro {
  display: flex;
  align-items: center;
  gap: 20px;
  min-width: 0;
  flex: 1 1 320px;
}
.nearby-cta-band__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}
.nearby-cta-band__icon svg {
  display: block;
}
.nearby-cta-band__text {
  min-width: 0;
}
.nearby-cta-band__title {
  font-family: "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 1.45rem;
  line-height: 1.2;
  margin: 0 0 4px;
  color: #fff;
}
.nearby-cta-band__lead {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.88);
}
.nearby-cta-band__btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 24px;
  border: 0;
  border-radius: 999px;
  background: #fdc800;
  color: #6d5500;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.nearby-cta-band__btn:hover, .nearby-cta-band__btn:focus-visible {
  background: rgb(232.76, 184, 0);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}
.nearby-cta-band__btn.loading {
  pointer-events: none;
  cursor: progress;
  opacity: 0.75;
}

body.error404 {
  background: #f9f9f9;
}
body.error404 #topBanner {
  position: relative;
  overflow: hidden;
  border-radius: 0 0 28px 28px;
}
body.error404 #topBanner::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 120px;
  background: linear-gradient(180deg, rgba(249, 249, 249, 0) 0%, #f9f9f9 92%);
  pointer-events: none;
}
body.error404 #topBanner img {
  display: block;
  width: 100%;
  height: auto;
}
body.error404 .notfound {
  max-width: 720px;
  margin: -48px auto 64px;
  padding: 40px 36px 36px;
  position: relative;
  background: #fff;
  border: 1px solid rgba(26, 28, 28, 0.06);
  border-radius: 22px;
  box-shadow: 0 1px 2px rgba(26, 28, 28, 0.04), 0 24px 48px rgba(26, 28, 28, 0.06);
  font-family: "Source Sans Pro", "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #1a1c1c;
}
body.error404 .notfound__header {
  margin: 0 0 22px;
  padding: 0;
  text-align: center;
  overflow: visible;
}
body.error404 .notfound__kicker {
  display: inline-block;
  margin-bottom: 14px;
  padding: 4px 12px;
  border-radius: 999px;
  background: color-mix(in srgb, #006879 10%, #fff);
  border: 1px solid color-mix(in srgb, #006879 22%, #bcc9cd);
  color: #004e5c;
  font-family: "Source Sans Pro", "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
body.error404 .notfound__title {
  float: none;
  margin: 0 0 12px;
  font-family: "Source Sans Pro", "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1.9rem, 4vw, 2.6rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.01em;
  color: #1a1c1c;
}
body.error404 .notfound__title a {
  color: inherit;
}
body.error404 .notfound__title-accent {
  font-style: italic;
  font-weight: 700;
  color: #006879;
}
body.error404 .notfound__lede {
  margin: 0 auto;
  max-width: 52ch;
  color: #3d494c;
  font-size: 1.02rem;
  line-height: 1.5;
}
body.error404 .notfound__body {
  margin: 0;
  padding: 22px 0 0;
  border-top: 1px solid rgba(26, 28, 28, 0.06);
  text-align: center;
}
body.error404 .notfound__hint {
  margin: 0 0 14px;
  color: #3d494c;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
body.error404 .notfound__search {
  display: flex;
  justify-content: center;
}
body.error404 .notfound__search form,
body.error404 .notfound__search .search-form {
  width: 100%;
  max-width: 460px;
}

.Openinghours.Overview table {
  line-height: 1.1;
  margin: 0;
}
.Openinghours.Overview table tr th, .Openinghours.Overview table tr td {
  padding: 3px 0;
}
.Openinghours.Overview table tr th {
  font-size: 1em;
}
@media (max-width: 767px) {
  .Openinghours.Overview table tr th {
    font-size: 1.5rem;
  }
}
.Openinghours.Overview table tr:not(.note) > td:last-child {
  width: 1%;
  white-space: nowrap;
}
.Openinghours.Overview table tr.note th, .Openinghours.Overview table tr.note td {
  padding: 0 0 8px;
  line-height: 1;
}
.Openinghours.Overview table tr.note th .alert, .Openinghours.Overview table tr.note td .alert {
  font-size: 12px;
  padding: 5px 6px;
  font-style: italic;
  line-height: 1.1;
  display: block;
  margin: 0;
}
@media (max-width: 767px) {
  .Openinghours.Overview table {
    width: 100% !important;
    font-size: 1em;
  }
}

.Openfrom {
  border-bottom: 1px solid #f2f2f2;
  margin: 0 0 25px;
  padding: 0;
  overflow: hidden;
  text-align: center;
  cursor: pointer;
  font-size: 1.125rem;
}
@media (min-width: 768px) {
  .Openfrom {
    font-size: 1.25rem;
    background: #eee;
    padding: 15px;
    border: 0;
  }
  .Openfrom strong {
    margin-right: 15px;
  }
}
@media (max-width: 767px) {
  .Openfrom {
    color: #767676;
    margin: 0 0 15px;
  }
  .Openfrom .showmore {
    line-height: 1.1;
  }
}

.Openfrom::before {
  content: "\e94e";
  font-family: "icomoon";
  padding-right: 5px;
}

.pagination {
  clear: both;
  display: block;
  margin: 32px 0 8px;
  text-align: center;
}
.pagination .page-numbers:not(ul) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 14px;
  margin: 4px;
  border-radius: 999px;
  border: 1px solid #bcc9cd;
  background: #fff;
  color: #1a1c1c;
  font-family: "Source Sans Pro", "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease;
}
.pagination .page-numbers:not(ul):hover, .pagination .page-numbers:not(ul):focus-visible {
  border-color: #006879;
  color: #006879;
  background: color-mix(in srgb, #006879 6%, #fff);
  text-decoration: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, #006879 15%, transparent);
}
.pagination .page-numbers:not(ul).current {
  background: #006879;
  border-color: #006879;
  color: #fff;
  box-shadow: 0 6px 14px rgba(0, 104, 121, 0.22);
  cursor: default;
}
.pagination .page-numbers:not(ul).current:hover {
  transform: none;
}
.pagination .page-numbers:not(ul).dots {
  border-color: transparent;
  background: transparent;
  color: #3d494c;
  cursor: default;
}
.pagination .page-numbers:not(ul).dots:hover {
  box-shadow: none;
  background: transparent;
  border-color: transparent;
  color: #3d494c;
}
.pagination .page-numbers:not(ul).prev, .pagination .page-numbers:not(ul).next {
  gap: 6px;
  padding: 0 18px;
  font-weight: 700;
  color: #006879;
}
.pagination ul.page-numbers {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2px;
}
.pagination ul.page-numbers > li {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .pagination {
    margin-top: 24px;
  }
  .pagination .page-numbers:not(ul) {
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    font-size: 0.85rem;
    margin: 3px;
  }
}

.dagplanning-archive__more .pagination {
  margin-top: 24px;
}

/* ──────────────────────────────────────────────────────────────────────────
   Plaats Overzicht — "The Curated Journey" design system
   ────────────────────────────────────────────────────────────────────────── */
.plaats-overzicht {
  padding-bottom: 80px;
}
.plaats-overzicht .plaats-overzicht__country-head {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin: 32px 0 24px;
  flex-wrap: wrap;
}
.plaats-overzicht .plaats-overzicht__country-title {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.6px;
  margin: 0;
  color: #1a1c1c;
}
.plaats-overzicht .plaats-overzicht__country-meta {
  font-size: 13px;
  color: #8a887f;
}
.plaats-overzicht {
  /* ── Masonry-grid van provincies ───────────────────────────────────── */
}
.plaats-overzicht .plaats-overzicht__masonry {
  column-count: 3;
  column-gap: 24px;
}
@media (max-width: 991px) {
  .plaats-overzicht .plaats-overzicht__masonry {
    column-count: 2;
  }
}
@media (max-width: 600px) {
  .plaats-overzicht .plaats-overzicht__masonry {
    column-count: 1;
  }
}
.plaats-overzicht .plaats-overzicht__province {
  break-inside: avoid;
  margin: 0 0 24px;
  display: block;
}
.plaats-overzicht .plaats-overzicht__province-title {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.4px;
  margin: 0 0 12px;
  color: #1a1c1c;
}
.plaats-overzicht .plaats-overzicht__province-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s;
}
.plaats-overzicht .plaats-overzicht__province-title a:hover, .plaats-overzicht .plaats-overzicht__province-title a:focus-visible {
  color: #006879;
}
.plaats-overzicht {
  /* ── Lijst binnen een provincie-kaart ──────────────────────────────── */
}
.plaats-overzicht .plaats-overzicht__list {
  list-style: none;
  margin: 0;
  padding: 8px;
  background: #ffffff;
  border: 1px solid #f1efe9;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(26, 28, 28, 0.04);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.plaats-overzicht .plaats-overzicht__item {
  margin: 0;
}
.plaats-overzicht .plaats-overzicht__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-radius: 10px;
  color: #1a1c1c;
  font-size: 14px;
  text-decoration: none;
  transition: background 0.15s;
}
.plaats-overzicht .plaats-overzicht__link:hover, .plaats-overzicht .plaats-overzicht__link:focus-visible {
  background: rgba(169, 237, 255, 0.35);
  outline: none;
}
.plaats-overzicht .plaats-overzicht__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
}
.plaats-overzicht .plaats-overzicht__name {
  font-weight: 500;
  color: #1a1c1c;
}
.plaats-overzicht .plaats-overzicht__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fde6cf;
  color: #7a3a14;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}
.plaats-overzicht .plaats-overzicht__badge-dot {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: #7a3a14;
}
.plaats-overzicht .plaats-overzicht__arrow {
  color: #8a887f;
  display: inline-flex;
  flex-shrink: 0;
  margin-left: 12px;
}
.plaats-overzicht .plaats-overzicht__empty {
  padding: 24px;
  background: #ffffff;
  border: 1px solid #f1efe9;
  border-radius: 16px;
  color: #50504a;
  text-align: center;
}
.plaats-overzicht {
  /* ── CTA onderaan ──────────────────────────────────────────────────── */
}
.plaats-overzicht .plaats-overzicht__cta {
  margin-top: 64px;
  background: #006879;
  color: #fff;
  border-radius: 28px;
  padding: 40px 48px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 24px;
  align-items: center;
}
@media (max-width: 767px) {
  .plaats-overzicht .plaats-overzicht__cta {
    grid-template-columns: 1fr;
    padding: 28px 24px;
    border-radius: 22px;
  }
}
.plaats-overzicht .plaats-overzicht__cta-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.plaats-overzicht .plaats-overzicht__cta-eyebrow {
  font-size: 11px;
  color: #a9edff;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.plaats-overzicht .plaats-overzicht__cta-title {
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -1px;
  margin: 0;
  color: #fff;
}
@media (max-width: 767px) {
  .plaats-overzicht .plaats-overzicht__cta-title {
    font-size: 24px;
  }
}
.plaats-overzicht .plaats-overzicht__cta-btn {
  justify-self: end;
  background: #fff;
  color: #006879;
  padding: 14px 24px;
  border-radius: 999px;
  border: none;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  transition: transform 0.15s, box-shadow 0.15s;
}
@media (max-width: 767px) {
  .plaats-overzicht .plaats-overzicht__cta-btn {
    justify-self: start;
  }
}
.plaats-overzicht .plaats-overzicht__cta-btn:hover, .plaats-overzicht .plaats-overzicht__cta-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
  outline: none;
}

/* === Wizard modal overrides === */
.pmd-wizard .intent-picker-modal__panel {
  max-width: 520px;
  padding: 28px 24px 24px;
}

/* === Steps === */
.pmd-step {
  display: block;
}

.pmd-step[hidden] {
  display: none;
}

.pmd-step__title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #2a2d2e;
  margin: 0 0 6px;
}

.pmd-step__sub {
  font-size: 0.85rem;
  color: #666;
  margin: 0 0 20px;
}

/* === Options grid === */
.pmd-options {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 10px;
  margin-bottom: 20px;
}

.pmd-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 14px 10px;
  border: 2px solid #e8e8e8;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  text-align: center;
  transition: border-color 0.18s, background 0.18s, box-shadow 0.18s;
  min-height: 80px;
}
.pmd-option:hover {
  border-color: #355150;
  background: rgba(53, 81, 80, 0.04);
}
.pmd-option.is-selected, .pmd-option[aria-pressed=true] {
  border-color: #355150;
  background: rgba(53, 81, 80, 0.08);
  box-shadow: 0 0 0 2px rgba(53, 81, 80, 0.25);
}
.pmd-option__icon {
  font-size: 1.6rem;
  line-height: 1;
}
.pmd-option__label {
  font-size: 0.83rem;
  font-weight: 700;
  color: #2a2d2e;
  line-height: 1.2;
}
.pmd-option__desc {
  font-size: 0.72rem;
  color: #888;
  line-height: 1.2;
}

/* === Progress dots === */
.pmd-progress {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}

.pmd-progress__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ddd;
  transition: background 0.2s;
}
.pmd-progress__dot--active {
  background: #355150;
}

/* === Nav buttons === */
.pmd-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
}

.pmd-back-btn {
  background: none;
  border: 0;
  color: #888;
  font-size: 0.85rem;
  cursor: pointer;
  padding: 6px 0;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: color 0.15s;
}
.pmd-back-btn:hover {
  color: #2a2d2e;
}
.pmd-back-btn[hidden] {
  display: none;
}

.pmd-next-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #355150;
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 10px 22px;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.18s, transform 0.15s;
  min-height: 44px;
}
.pmd-next-btn:hover {
  background: rgb(46.64, 71.28, 70.4);
  transform: translateY(-1px);
}
.pmd-next-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}

/* === Loading === */
.pmd-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  gap: 16px;
}
.pmd-loading[hidden] {
  display: none;
}

.pmd-loading__spinner {
  width: 40px;
  height: 40px;
  border: 3px solid rgba(53, 81, 80, 0.2);
  border-top-color: #355150;
  border-radius: 50%;
  animation: pmd-spin 0.8s linear infinite;
}

.pmd-loading__text {
  font-size: 0.92rem;
  color: #666;
}

@keyframes pmd-spin {
  to {
    transform: rotate(360deg);
  }
}
/* === AI Result popup (echte modal met blur backdrop) === */
.pmd-result-overlay {
  position: fixed;
  inset: 0;
  z-index: 100200;
  background: rgba(20, 24, 26, 0.55);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0;
  display: flex;
  flex-direction: column;
  padding: 32px 16px;
  align-items: flex-start;
  justify-content: center;
}
.pmd-result-overlay[hidden] {
  display: none;
}

.pmd-result-overlay__panel {
  position: relative;
  background: #fff;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  min-height: 100%;
  box-shadow: none;
  border-radius: 0;
  min-height: 0;
  max-height: calc(100vh - 64px);
  border-radius: 18px;
  box-shadow: 0 30px 80px rgba(10, 20, 24, 0.35);
  overflow: auto;
}

.pmd-result-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: rgba(255, 255, 255, 0.92);
  color: #1a1a1a;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  z-index: 5;
  transition: background 0.15s, color 0.15s, transform 0.15s;
}
.pmd-result-close:hover, .pmd-result-close:focus-visible {
  background: #fff;
  color: #2a2d2e;
  transform: scale(1.05);
  outline: none;
}

.pmd-result-overlay__inner {
  width: 100%;
  padding: 0 16px 60px;
  padding: 0 24px 48px;
}

/* === Result hero === */
.pmd-result-hero {
  background: linear-gradient(135deg, #355150 0%, #00a878 100%);
  color: #fff;
  padding: 32px 0 28px;
  margin: 0 -16px 24px;
  padding-left: 16px;
  padding-right: 16px;
  margin: 0 -24px 28px;
  padding: 44px 24px 36px;
}

.pmd-result-hero__breadcrumb {
  font-size: 0.8rem;
  opacity: 0.85;
  margin-bottom: 12px;
}
.pmd-result-hero__breadcrumb a {
  color: #fff;
  text-decoration: underline;
}

.pmd-result-hero__title {
  font-size: clamp(1.5rem, 4vw, 2.2rem);
  font-weight: 800;
  margin: 0 0 10px;
  line-height: 1.2;
}

.pmd-result-hero__intro {
  font-size: 1rem;
  opacity: 0.9;
  max-width: 580px;
  line-height: 1.5;
  margin: 0;
}

/* === Result action bar === */
.pmd-result-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
  padding: 12px 0;
  border-bottom: 1px solid #e8e8e8;
}

.pmd-result-action {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #2a2d2e;
  transition: background 0.15s, border-color 0.15s;
  white-space: nowrap;
  min-height: 36px;
}
.pmd-result-action:hover {
  background: #f5f5f5;
  border-color: #bbb;
}
.pmd-result-action--primary {
  background: #355150;
  border-color: #355150;
  color: #fff;
}
.pmd-result-action--primary:hover {
  background: rgb(46.64, 71.28, 70.4);
  border-color: rgb(46.64, 71.28, 70.4);
  color: #fff;
}
.pmd-result-action--danger {
  border-color: #e8e8e8;
  color: #666;
}

/* === Maps open-in icon === */
.maps-open-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: rgba(53, 81, 80, 0.08);
  color: #355150;
  text-decoration: none;
  font-size: 0.7rem;
  font-weight: 700;
  margin-left: 6px;
  flex-shrink: 0;
  vertical-align: middle;
  transition: background 0.15s, color 0.15s;
  line-height: 1;
}
.maps-open-link:hover {
  background: #355150;
  color: #fff;
  text-decoration: none;
}

.stop-title-wrap {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
}

/* === Stop replace UI === */
.pmd-stop-replace-btn {
  display: none;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  background: none;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 5px 10px;
  font-size: 0.75rem;
  color: #666;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.pmd-stop-replace-btn:hover {
  background: #f5f5f5;
  border-color: #bbb;
  color: #2a2d2e;
}

.pmd-result-overlay .dagplanning-uitje-card:hover .pmd-stop-replace-btn,
.pmd-result-overlay .dagplanning-stop-wrap:hover .pmd-stop-replace-btn {
  display: inline-flex;
}

/* === Wizard stap 0: gebruik wat je hebt bewaard === */
.pmd-step--favs {
  display: block;
}

.pmd-step--favs[hidden] {
  display: none;
}

.pmd-step0__sub {
  margin-bottom: 16px;
}

.pmd-step0__picker {
  margin-top: 12px;
  padding: 12px 14px;
  background: #f9f9f9;
  border-radius: 10px;
  border: 1px solid #e8e8e8;
}
.pmd-step0__picker[hidden] {
  display: none;
}

.pmd-step0__picker-hint {
  font-size: 0.82rem;
  color: #666;
  margin: 0 0 10px;
}

.pmd-step0__picker-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 180px;
  overflow-y: auto;
}

.pmd-step0__picker-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  transition: border-color 0.15s, background 0.15s;
}
.pmd-step0__picker-item:hover {
  border-color: rgba(53, 81, 80, 0.4);
  background: rgba(53, 81, 80, 0.03);
}
.pmd-step0__picker-item input[type=checkbox] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #355150;
  cursor: pointer;
}
.pmd-step0__picker-item label {
  flex: 1;
  min-width: 0;
  font-size: 0.88rem;
  font-weight: 500;
  color: #2a2d2e;
  cursor: pointer;
  line-height: 1.35;
  margin: 0;
  overflow-wrap: anywhere;
}

/* === 'Uit mijn plan'-badge op AI-resultaat stop === */
.from-favorite {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #fff0f3;
  border: 1px solid #f7c5d0;
  border-radius: 20px;
  padding: 2px 8px 2px 6px;
  font-size: 0.7rem;
  font-weight: 600;
  color: #c0392b;
  vertical-align: middle;
  margin-left: 6px;
  white-space: nowrap;
}
.from-favorite__icon {
  width: 12px;
  height: 12px;
  stroke: #c0392b;
  flex-shrink: 0;
}
.from-favorite__label {
  line-height: 1;
}

/* === QR cross-device modal === */
.qr-modal {
  position: fixed;
  inset: 0;
  z-index: 100300;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qr-modal[hidden] {
  display: none;
}

.qr-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  cursor: pointer;
}

.qr-modal__panel {
  position: relative;
  background: #fff;
  border-radius: 16px;
  padding: 28px 24px 24px;
  max-width: 360px;
  width: calc(100% - 32px);
  text-align: center;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
  z-index: 1;
}

.qr-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: 0;
  cursor: pointer;
  color: #888;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: color 0.15s, background 0.15s;
}
.qr-modal__close:hover {
  color: #2a2d2e;
  background: #f0f0f0;
}

.qr-modal__title {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 8px;
}

.qr-modal__desc {
  font-size: 0.84rem;
  color: #666;
  margin: 0 0 16px;
  line-height: 1.45;
}

.qr-modal__canvas-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 210px;
  margin-bottom: 12px;
}

.qr-modal__canvas {
  border: 2px solid #e8e8e8;
  border-radius: 8px;
  padding: 8px;
  display: inline-block;
}
.qr-modal__canvas img {
  display: block;
}

.qr-modal__loading {
  font-size: 0.85rem;
  color: #888;
}

.qr-modal__ttl {
  font-size: 0.8rem;
  color: #888;
  margin: 0 0 6px;
}

.qr-modal__url {
  font-size: 0.72rem;
  color: #aaa;
  word-break: break-all;
  margin: 0;
}

/* Restore notice */
.qr-restore-notice {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  background: #355150;
  color: #fff;
  padding: 12px 24px;
  border-radius: 30px;
  font-size: 0.9rem;
  font-weight: 600;
  z-index: 100400;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
  pointer-events: none;
}

/* Concept-canvas QR button */
.concept-canvas__qr-btn {
  background: none;
  border: 1.5px solid #c0c0c0;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 0.84rem;
  font-weight: 600;
  cursor: pointer;
  color: #444;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.concept-canvas__qr-btn:hover {
  border-color: #355150;
  color: #355150;
  background: rgba(53, 81, 80, 0.04);
}

/* === Herinnering modal === */
.reminder-modal {
  position: fixed;
  inset: 0;
  z-index: 100300;
  display: flex;
  align-items: center;
  justify-content: center;
}
.reminder-modal[hidden] {
  display: none;
}

.reminder-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  cursor: pointer;
}

.reminder-modal__panel {
  position: relative;
  background: #fff;
  border-radius: 16px;
  padding: 28px 24px 24px;
  max-width: 400px;
  width: calc(100% - 32px);
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
  z-index: 1;
}

.reminder-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: 0;
  cursor: pointer;
  color: #888;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: color 0.15s, background 0.15s;
}
.reminder-modal__close:hover {
  color: #2a2d2e;
  background: #f0f0f0;
}

.reminder-modal__title {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 8px;
}

.reminder-modal__desc {
  font-size: 0.82rem;
  color: #666;
  margin: 0 0 18px;
  line-height: 1.5;
}

.reminder-modal__field {
  margin-bottom: 14px;
}

.reminder-modal__label {
  display: block;
  font-size: 0.84rem;
  font-weight: 600;
  color: #2a2d2e;
  margin-bottom: 5px;
}

.reminder-modal__input {
  display: block;
  width: 100%;
  padding: 9px 12px;
  border: 1.5px solid #d8d8d8;
  border-radius: 8px;
  font-size: 0.9rem;
  font-family: inherit;
  color: #2a2d2e;
  background: #fff;
  box-sizing: border-box;
  transition: border-color 0.15s;
}
.reminder-modal__input:focus {
  outline: none;
  border-color: #355150;
}

.reminder-modal__privacy {
  font-size: 0.74rem;
  color: #aaa;
  margin: 0 0 14px;
}

.reminder-modal__actions {
  margin-bottom: 10px;
}

.reminder-modal__submit {
  display: inline-flex;
  align-items: center;
  background: #355150;
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 10px 22px;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  min-height: 44px;
  transition: background 0.18s;
}
.reminder-modal__submit:hover {
  background: rgb(46.64, 71.28, 70.4);
}
.reminder-modal__submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.reminder-modal__feedback {
  font-size: 0.84rem;
  min-height: 1.2em;
}
.reminder-modal__feedback--success {
  color: #2e7d32;
}
.reminder-modal__feedback--error {
  color: #c0392b;
}

/* Herinnering knop in sticky bars */
.dp-action--reminder:hover {
  background: #fff8e1;
  border-color: #f59e0b;
  color: #92400e;
}

/* Concept-canvas reminder-btn */
.concept-canvas__reminder-btn {
  background: none;
  border: 1.5px solid #f0c040;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 0.84rem;
  font-weight: 600;
  cursor: pointer;
  color: #7c5e10;
  transition: border-color 0.15s, background 0.15s;
}
.concept-canvas__reminder-btn:hover {
  background: #fffde7;
}

.note.alert {
  margin: 20px 0;
}
.note.alert > * {
  padding: 10px 15px;
}
.note.alert > .heading {
  background: red;
  color: #fff;
  font-weight: bold;
}
.note.alert > .inner {
  border: 1px solid #eee;
  border-top: 0;
  font-size: 14px;
}
.note.alert:first-child {
  margin-top: 0;
}

.pricelevel {
  float: right;
  line-height: 1;
  color: #70757a;
  position: relative;
  opacity: 0.7;
  font-weight: normal;
  display: block;
  margin: 1.25em 0 10px 15px;
  pointer-events: none;
  font-size: 18px;
}
.maincolumn > .pricelevel {
  margin-top: 0.35em;
}
.pricelevel::before {
  content: "Prijsindicatie";
  font-size: 0.75em;
  position: absolute;
  bottom: 100%;
  right: 0;
  margin-bottom: 2px;
}
.pricelevel > span {
  font-weight: bold;
  letter-spacing: 0.15em;
}
.pricelevel .current {
  position: absolute;
  left: 0;
  top: 0;
}
.pricelevel .total {
  opacity: 0.4;
}

/* ===== Quicklinks ===== */
.quicklinks {
  display: block;
  overflow: hidden;
  margin-top: 20px;
  position: relative;
}
.quicklinks > .h3,
.quicklinks > h2,
.quicklinks > .h2 {
  margin: 0 0 12px;
  font-weight: 700;
}
.quicklinks .flex-grid {
  gap: 8px;
}
.quicklinks .flex-grid > li:last-child {
  padding-right: 15px;
}
.quicklinks {
  /* horizontale varianten */
}
.quicklinks .horizontal-container {
  display: block;
  float: none;
  clear: both;
  position: relative;
}
.quicklinks .horizontal-outer {
  overflow-x: scroll;
}
.quicklinks.newest .Business.Detail {
  min-height: calc(100% - 20px);
  min-width: 232px;
}
.quicklinks.newest .horizontal-container {
  display: block;
  float: none;
  clear: both;
  position: relative;
}
.quicklinks.newest .horizontal-outer {
  overflow-x: scroll;
}

/* ── Scroll-snap + edge-to-edge op mobiel ──────────────────────────────
   Voor horizontale listings (newest, dagplanning-home-overview,
   quicklinks in categorie / tag pagina's) laten we de scrollrij op
   mobiel van rand tot rand lopen en voegen we scroll-snap toe zodat
   elk kaartje netjes inklikt bij het swipen. */
.quicklinks.newest::after {
  content: "";
  right: 0;
  top: 0;
  bottom: 0;
  width: 30px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), #fff);
  position: absolute;
  display: block;
  pointer-events: none;
}

.quicklinks--enhanced {
  padding: 1rem;
  border: 1px solid #dde8e7;
  border-radius: 1.25rem;
  background: linear-gradient(180deg, #f8fbfb 0%, #ffffff 100%);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.05);
}
.quicklinks--enhanced .h3 {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.35;
}
.quicklinks--enhanced .quicklinks__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 0.9rem;
}
.quicklinks--enhanced .quicklinks__meta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: #e9f3f2;
  color: #47605f;
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 600;
  white-space: nowrap;
}
.quicklinks--enhanced .quicklinks__search {
  margin-bottom: 0.95rem;
}
.quicklinks--enhanced .quicklinks__search-input {
  display: block;
  width: 100%;
  min-height: 2.9rem;
  padding: 0.75rem 1rem;
  border: 1px solid #d6e5e4;
  border-radius: 0.95rem;
  background: #fff;
  color: #213635;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}
.quicklinks--enhanced .quicklinks__search-input::placeholder {
  color: #6a8281;
}
.quicklinks--enhanced .quicklinks__search-input:focus {
  outline: none;
  border-color: #006879;
  box-shadow: 0 0 0 3px rgba(0, 104, 121, 0.12);
}
.quicklinks--enhanced .horizontal-container,
.quicklinks--enhanced .horizontal-outer {
  overflow: visible;
}
.quicklinks--enhanced .horizontal-inner {
  padding: 0;
  max-height: none;
  overflow: visible;
  transition: max-height 0.24s ease;
}
.quicklinks--enhanced .flex-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}
.quicklinks--enhanced li {
  padding: 0;
}
.quicklinks--enhanced a {
  display: inline-flex;
  align-items: center;
  min-height: 2.65rem;
  padding: 0.7rem 0.95rem;
  border: 1px solid #d9e6e5;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
  font-size: 0.9375rem;
  line-height: 1.2;
  font-weight: 600;
  white-space: normal;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.quicklinks--enhanced a:hover,
.quicklinks--enhanced a:focus {
  border-color: #006879;
  box-shadow: 0 10px 24px rgba(0, 104, 121, 0.12);
  transform: translateY(-1px);
}
.quicklinks--enhanced .quicklinks__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.95rem;
  padding: 0.8rem 1rem;
  border: 0;
  border-radius: 0.95rem;
  background: #006879;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.quicklinks--enhanced .quicklinks__toggle:hover,
.quicklinks--enhanced .quicklinks__toggle:focus {
  background: #055866;
}
.quicklinks--enhanced.is-collapsed .horizontal-container {
  position: relative;
}
.quicklinks--enhanced.is-collapsed .horizontal-inner {
  max-height: 8.5rem;
  overflow: hidden;
}
.quicklinks--enhanced.is-collapsed .horizontal-container::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3rem;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(248, 251, 251, 0) 0%, rgba(248, 251, 251, 0.95) 55%, #f8fbfb 100%);
}
.quicklinks--enhanced.is-expanded .horizontal-container::after, .quicklinks--enhanced.is-filtering .horizontal-container::after {
  display: none;
}
.quicklinks--enhanced.is-expanded .horizontal-inner, .quicklinks--enhanced.is-filtering .horizontal-inner {
  max-height: none;
}

.rating {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-top: 10px;
}
.rating .stars {
  position: relative;
  overflow: hidden;
  line-height: 1;
  display: block;
  font-family: "icomoon";
  white-space: nowrap;
  color: #BABABA;
}
.rating .stars::before {
  content: "\e9d9\e9d9\e9d9\e9d9\e9d9";
}
.rating .stars .stars-inner {
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  color: #d86b11;
}
.rating .stars .stars-inner::before {
  content: "\e9d9\e9d9\e9d9\e9d9\e9d9";
}
.rating .stars + .totals {
  margin-left: 7px;
}
.rating .totals {
  font-size: 13px;
  opacity: 0.7;
}

.rating-outer {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 0px;
}
.rating-outer .average {
  font-weight: bold;
  font-size: 20px;
  width: 3em;
  height: 3em;
  padding: 0.5em;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  background: #F07713;
  color: #fff;
  border-radius: 50%;
}
.rating-outer .average + * {
  margin-left: 15px;
}
.rating-outer .rating {
  width: auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.rating-outer .rating .stars {
  font-size: 20px;
}
.rating-outer .rating .stars + .totals {
  margin-left: 0;
  margin-top: 2px;
}
.rating-outer .totals {
  display: block;
  font-size: 1rem;
}
.rating-outer .totals a {
  text-decoration: underline;
}
.rating-outer .totals a:hover {
  text-decoration: none;
}
@media (max-width: 767px) {
  .rating-outer .totals {
    font-size: 1.125rem;
  }
}

.Reviews {
  border: 2px solid #eee;
  margin-top: 20px;
  padding: 20px;
  border-radius: 0 0 16px 0;
}
.Reviews h5 {
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767px) {
  .Reviews h5 {
    font-size: 1.5rem;
  }
}
.Reviews .block-grid.one-up > li {
  padding-right: 0;
}
.Reviews .block-grid.one-up > li article {
  margin-bottom: 0;
}
.Reviews > nav {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .Reviews {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    flex-wrap: wrap;
  }
  .Reviews > h5 {
    margin-bottom: 0;
  }
  .Reviews > .rating-outer {
    width: auto;
    margin-left: 15px;
  }
  .Reviews > nav {
    margin-top: 0;
    margin-left: auto;
  }
  .Reviews > .block-grid {
    width: calc(100% + 20px);
    padding-top: 20px;
    margin-top: 10px;
    position: relative;
  }
  .Reviews > .block-grid::before {
    content: "";
    left: 0;
    right: 20px;
    top: 0;
    height: 2px;
    background: #eee;
    display: block;
    position: absolute;
  }
}

.Review {
  margin-top: 15px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .Review {
    border-top: 2px solid #eee;
    padding-top: 15px;
  }
}
.Review > .heading {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
.Review > .heading > figure {
  width: 40px;
}
@media (max-width: 767px) {
  .Review > .heading > figure {
    width: 60px;
  }
}
.Review > .heading > figure + .aside {
  font-size: 13px;
  margin-left: 10px;
}
@media (max-width: 767px) {
  .Review > .heading > figure + .aside {
    font-size: 1em;
    margin-left: 15px;
  }
}
.Review > .heading > figure + .aside .author {
  display: block;
  font-weight: bold;
  line-height: 1.1;
}
.Review > .heading > figure + .aside .time {
  color: rgba(0, 0, 0, 0.5);
}
@media (min-width: 768px) {
  .Review > .heading > figure + .aside .time {
    font-size: 0.9230769231em;
  }
}
.Review > .rating {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 16px;
}
.Review > .rating .average {
  font-weight: bold;
  margin-right: 10px;
  color: #F07713;
  font-size: 1.125rem;
  line-height: 1.1;
}
.Review > .text {
  line-height: 1.4;
  font-size: 0.9375em;
}
@media (min-width: 768px) {
  .Review > .text {
    font-size: 12px;
  }
}
.Review > .text p:last-child {
  margin-bottom: 0;
}

/* ===== Kwaliteits-linten (hoekige linten op cards) ===== */
/* Bovenliggende card moet position:relative hebben */
.dagplanning-home-card,
.Business.Detail {
  overflow: hidden;
}

.ribbon {
  position: absolute;
  top: 14px;
  right: -28px;
  width: 110px;
  padding: 5px 0;
  text-align: center;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  transform: rotate(45deg);
  transform-origin: center;
  z-index: 12;
  white-space: nowrap;
  line-height: 1.3;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
  pointer-events: none;
}

.ribbon--local {
  background: #2d7a3f;
}

.ribbon--hidden-gem {
  background: #512da8;
}

.ribbon--most-picked {
  background: #F6882E;
}

/* ===== Pagina: body.search — redesign aligned ===== */
@media (max-width: 767px) {
  body.search .mainrow > .col-sm-12.maincolumn {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex: 1 1 100%;
  }
}
body.search .mainrow > .col-sm-12.maincolumn > h1 {
  text-align: center;
  font-family: "Source Sans Pro", "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #1a1c1c;
}
body.search .mainrow > .col-sm-12.maincolumn > h1 span {
  color: #006879;
  font-style: italic;
}
body.search .mainrow > .col-sm-12.maincolumn .search-form {
  width: 100%;
  max-width: 750px;
  margin: 0 auto 12px;
  clear: both;
  display: block;
}
body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
  padding: 10px;
  background: #fff;
  border: 1px solid rgba(26, 28, 28, 0.06);
  border-radius: 20px;
  box-shadow: 0 1px 2px rgba(26, 28, 28, 0.04), 0 24px 48px rgba(26, 28, 28, 0.06);
}
body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-addon,
body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .form-control,
body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-btn .btn {
  line-height: 1.3;
  padding: 10px 14px;
  border: 0;
  border-radius: 14px;
  height: auto;
  min-height: 0;
  box-shadow: none;
  font-family: "Source Sans Pro", "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-addon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: color-mix(in srgb, #006879 10%, #fff);
  color: #004e5c;
  border: 1px solid color-mix(in srgb, #006879 22%, #bcc9cd);
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 14px;
}
body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-addon:first-child {
  width: auto;
}
body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .form-control {
  flex: 1 1 260px;
  min-width: 0;
  background: transparent;
  color: #1a1c1c;
  font-size: 1rem;
  font-weight: 500;
  padding: 10px 14px;
}
body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .form-control:focus {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, #006879 15%, transparent);
  background: color-mix(in srgb, #006879 4%, #fff);
}
body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-btn {
  flex: 0 0 auto;
}
body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-btn .btn {
  background: #006879;
  color: #fff;
  padding: 12px 22px;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: -0.005em;
  box-shadow: 0 1px 2px rgba(0, 104, 121, 0.2), 0 12px 24px rgba(0, 104, 121, 0.16);
  transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease;
}
body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-btn .btn:hover, body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-btn .btn:focus-visible {
  background: #004e5c;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 1px 2px rgba(0, 104, 121, 0.24), 0 16px 30px rgba(0, 104, 121, 0.22);
}
body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-btn .btn:active {
  transform: translateY(0);
}
@media (max-width: 767px) {
  body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group {
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    border-radius: 18px;
  }
  body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-addon,
  body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .form-control,
  body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-btn,
  body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-btn .btn {
    display: block;
    width: 100%;
    clear: both;
    flex: 0 0 auto;
  }
  body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-addon {
    align-self: flex-start;
  }
  body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .form-control {
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid #bcc9cd;
    min-height: 46px;
  }
  body.search .mainrow > .col-sm-12.maincolumn .search-form .input-group .input-group-btn .btn {
    padding: 12px 18px;
    min-height: 46px;
  }
}
body.search .mainrow > .col-sm-12.maincolumn .search-form ~ .Business.Overview {
  border-top: 0;
  margin-top: 24px;
}

/* ===== Header: zoekknop / toggle =====
   Border-radius en padding worden in `__header.scss` gezet zodat de
   zoekknop dezelfde pill-vorm krijgt als de andere header-knoppen
   (Mijn plan, In de buurt). Hier blijft alleen de typografie + icon-
   layout over. */
.site-header .search-form {
  position: relative;
}
.site-header .search-form .search-toggle {
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: center;
  font-weight: 600;
  min-width: 80px;
  height: 40px;
}
.site-header .search-form .search-toggle .search-icon {
  width: 16px;
  height: 16px;
  stroke: currentColor;
}
/* ===== Suggesties popover (onder knop in header) ===== */
.search-suggestions {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #9a9b9b;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 9999;
  max-height: 300px;
  overflow-y: auto;
  display: none;
}
.search-suggestions.show {
  display: block;
}
.search-suggestions .suggestions-header {
  padding: 12px 16px 8px;
  font-size: 11px;
  color: #666;
  font-weight: 600;
  text-transform: uppercase;
  border-bottom: 1px solid #f0f0f0;
  background: #f8f9fa;
}
.search-suggestions .suggestion-item {
  padding: 12px 16px;
  cursor: pointer;
  transition: background-color 0.15s ease;
  border-bottom: 1px solid #f8f8f8;
}
.search-suggestions .suggestion-item:hover {
  background: #f0f0f0;
}
.search-suggestions .suggestion-item .suggestion-title {
  font-size: 14px;
  color: #333;
  margin: 0 0 4px;
  font-weight: 500;
}
.search-suggestions .suggestion-item .suggestion-meta {
  font-size: 12px;
  color: #666;
  margin: 0;
}

/* ===== Centered resultaten-popover + zoekbalk ===== */
.search-results-popover {
  position: fixed;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  max-width: 90vw;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 8px;
  box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.12);
  z-index: 99999;
  max-height: 70vh;
  overflow-y: auto;
  display: none;
}
.search-results-popover.show {
  display: block;
  animation: fadeIn 150ms ease-out;
}
.search-results-popover .popover-search-bar {
  padding: 20px 24px 16px;
  border-bottom: 1px solid #f0f0f0;
  background: #f8f9fa;
  border-radius: 8px 8px 0 0;
  position: relative;
}
.search-results-popover .popover-search-bar .search-icon {
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
}
.search-results-popover .popover-search-bar .search-input {
  width: 100%;
  padding: 10px 16px 10px 40px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 6px;
  font-size: 15px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  background-color: rgba(0, 0, 0, 0.02);
}
.search-results-popover .popover-search-bar .search-input:hover {
  border-color: rgba(0, 0, 0, 0.16);
}
.search-results-popover .popover-search-bar .search-input:focus {
  border-color: rgba(59, 130, 246, 0.5);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}
.search-results-popover .popover-search-bar .search-input::placeholder {
  color: #666;
}
.search-results-popover .popover-header {
  padding: 20px 24px 16px;
  border-bottom: 1px solid #f0f0f0;
  background: #f8f9fa;
}
.search-results-popover .popover-header .search-query {
  font-size: 18px;
  color: #333;
  font-weight: 600;
  margin: 0 0 6px;
}
.search-results-popover .popover-header .results-count {
  font-size: 14px;
  color: #666;
  margin: 0;
}
.search-results-popover .results-container {
  display: block;
  padding: 0;
  max-height: 500px;
  overflow-y: auto;
}
.search-results-popover .results-section {
  padding: 20px 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-bottom: 8px;
}
.search-results-popover .results-section:first-child .section-title {
  margin-top: 0;
}
.search-results-popover .results-section .section-title {
  display: block;
  width: 100%;
  flex-basis: 100%;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.4px;
  color: rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
  margin: 12px 0 10px 0;
}
.search-results-popover .result-item {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  background-color: rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 24px;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 200ms ease-in-out, border-color 200ms ease-in-out, transform 200ms ease-in-out, box-shadow 200ms ease-in-out;
  max-width: 100%;
}
.search-results-popover .result-item:hover {
  background-color: rgba(0, 0, 0, 0.08);
  border-color: rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
.search-results-popover .result-item:focus-within {
  background-color: rgba(59, 130, 246, 0.08);
  border-color: rgba(59, 130, 246, 0.4);
}
.search-results-popover .result-item.focused-chip {
  background-color: rgba(59, 130, 246, 0.12);
  border-color: rgba(59, 130, 246, 0.5);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
  outline: none;
}
.search-results-popover .result-item.active {
  background-color: rgba(59, 130, 246, 0.2);
  border-color: rgba(59, 130, 246, 0.6);
  transform: scale(0.97);
}
.search-results-popover .result-item .result-link {
  text-decoration: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  overflow: hidden;
}
.search-results-popover .result-item .result-link:focus {
  outline: none;
}
.search-results-popover .result-item .result-title {
  display: inline;
  color: rgba(0, 0, 0, 0.85);
  font-weight: 500;
  font-size: 13px;
  line-height: 1;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.search-results-popover .result-item .result-excerpt {
  display: none;
}
.search-results-popover .chips-empty-message {
  width: 100%;
  flex-basis: 100%;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.4);
  padding: 8px 0 4px;
  margin: 0;
  font-style: italic;
}
.search-results-popover {
  /* ===== Locatie-resultaten (categorieën / plaatsen) ===== */
}
.search-results-popover .results-section--locations {
  padding-bottom: 8px;
  border-bottom: 1px solid #eee;
  margin-bottom: 4px;
}
.search-results-popover .results-section--locations .section-title--locations {
  color: #28a1c5;
}
.search-results-popover .result-item--location {
  padding: 10px 0;
}
.search-results-popover .result-item--location .result-link--location {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 6px;
  background: linear-gradient(135deg, #f0f8fc 0%, #e6f4f9 100%);
  border: 1px solid rgba(40, 161, 197, 0.2);
  text-decoration: none;
  color: inherit;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.search-results-popover .result-item--location .result-link--location:hover {
  background: linear-gradient(135deg, #d9f0f8 0%, #c8e9f5 100%);
  border-color: rgba(40, 161, 197, 0.4);
}
.search-results-popover .result-item--location .result-link--location:hover .result-title--location {
  color: #28a1c5;
}
.search-results-popover .result-item--location .result-location-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  color: #28a1c5;
}
.search-results-popover .result-item--location .result-location-icon .location-pin-icon {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: rgba(40, 161, 197, 0.15);
}
.search-results-popover .result-item--location .result-location-body {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}
.search-results-popover .result-item--location .result-title--location {
  font-size: 15px;
  font-weight: 600;
  color: #333;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.15s ease;
}
.search-results-popover .result-item--location .result-location-badge {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.search-results-popover .result-item--location .result-location-badge--category {
  background: rgba(40, 161, 197, 0.15);
  color: #1a7a99;
}
.search-results-popover .result-item--location .result-location-badge--plaats {
  background: rgba(246, 136, 46, 0.15);
  color: #c05d12;
}
.search-results-popover .view-all-results {
  padding: 20px 24px;
  text-align: center;
  border-top: 1px solid #f0f0f0;
  background: #f8f9fa;
  border-radius: 0 0 8px 8px;
}
.search-results-popover .view-all-results .view-all-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: #e91e63;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 500;
  transition: background-color 0.2s ease;
}
.search-results-popover .view-all-results .view-all-link:hover {
  background: #c2185b;
}

/* Animaties (popover & overlay) */
@keyframes popoverSlideDown {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* Overlay achter popover */
.search-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 99998;
  display: none;
}
.search-overlay.show {
  display: block;
  animation: fadeIn 0.3s ease;
}

/* States */
.search-loading {
  padding: 40px 24px;
  text-align: center;
  color: #666;
  font-size: 16px;
}

/* Geen resultaten bloc */
.no-results {
  padding: 40px 24px;
  text-align: center;
  color: #666;
}
.no-results .no-results-title {
  font-size: 18px;
  color: #333;
  margin: 0 0 8px;
  font-weight: 500;
}

/* Popover responsive */
@media (max-width: 768px) {
  .search-results-popover {
    top: 70px;
    width: 95vw;
    max-height: 80vh;
  }
}
@media (max-width: 480px) {
  #search-popover,
  .search-results-popover {
    top: 60px;
    width: calc(100vw - 32px);
    padding: 12px;
  }
  #search-popover .popover-search-bar,
  #search-popover .popover-header,
  #search-popover .results-section,
  #search-popover .view-all-results,
  .search-results-popover .popover-search-bar,
  .search-results-popover .popover-header,
  .search-results-popover .results-section,
  .search-results-popover .view-all-results {
    padding-left: 16px;
    padding-right: 16px;
  }
  #search-popover .result-item,
  .search-results-popover .result-item {
    padding: 7px 12px;
    font-size: 12px;
  }
  #search-popover .result-title,
  .search-results-popover .result-title {
    font-size: 12px;
  }
}
/* ===== Plaats-zoek dropdown ===== */
.plaats-search-dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #ddd;
  border-top: none;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 4px 16px rgba(0, 0, 0, 0.05);
  z-index: 1000;
  max-height: 500px;
  overflow: hidden;
  display: none;
  backdrop-filter: blur(8px);
}
.plaats-search-dropdown.open .dropdown-menu {
  display: block;
}
.plaats-search-dropdown .dropdown-search {
  padding: 20px;
  border-bottom: 0;
  background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
  position: sticky;
  top: 0;
  z-index: 10;
}
.plaats-search-dropdown .dropdown-search-inner {
  position: relative;
}
.plaats-search-dropdown .dropdown-search-inner span.icon {
  position: absolute;
  left: 20px;
  top: 14px;
  z-index: 5;
  font-size: 20px;
  line-height: 1;
  display: block;
}
.plaats-search-dropdown .dropdown-search-inner span.icon svg {
  fill: none;
}
.plaats-search-dropdown .search-input {
  width: 100%;
  padding: 10px 16px 10px 48px;
  border: 2px solid #eee;
  border-radius: 25px;
  font-size: 15px;
  outline: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  position: relative;
}
.plaats-search-dropdown .search-input:focus {
  border-color: #2196f3;
  box-shadow: 0 0 0 4px rgba(33, 150, 243, 0.1), 0 4px 16px rgba(33, 150, 243, 0.15);
  transform: translateY(-1px);
}
.plaats-search-dropdown .search-input::placeholder {
  color: #555;
  font-weight: 400;
}
.plaats-search-dropdown .dropdown-arrow {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  margin-left: 8px;
  color: #555;
}
.plaats-search-dropdown.open .dropdown-arrow {
  transform: rotate(180deg);
  color: #2196f3;
}

/* Animatie dropdown */
@keyframes dropdownSlideIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Dropdown content + scrollbars */
.dropdown-content {
  overflow-y: auto;
  max-height: 420px;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e0 transparent;
}
.dropdown-content::-webkit-scrollbar {
  width: 6px;
}
.dropdown-content::-webkit-scrollbar-track {
  background: transparent;
}
.dropdown-content::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 3px;
}
.dropdown-content::-webkit-scrollbar-thumb:hover {
  background: #a0aec0;
}

/* Default blokken */
.default-content .h3 {
  padding: 15px 20px;
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: #2a2d2e;
  background: #f8f9fa;
  border-bottom: 1px solid #eee;
  text-transform: none;
  letter-spacing: normal;
  position: sticky;
  top: 0;
  z-index: 5;
}
.default-content hr {
  margin: 0;
  border: none;
  border-top: 1px solid #eee;
}

/* ===== Plaats-resultaten (grid) ===== */
.block-grid.place-results {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.block-grid.place-results > li {
  padding: 0;
  border-bottom: 1px solid #f0f2f5;
  border-right: 1px solid #f0f2f5;
}
.block-grid.place-results > li > div.province {
  height: auto;
}
.block-grid.place-results li:nth-child(2n) {
  border-right: none;
}
.block-grid.place-results {
  /* Subniveaus */
}
.block-grid.place-results .children {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
  grid-column: 1/-1;
}
.block-grid.place-results .children > li {
  border-right: none;
  display: block;
  width: 100%;
}
.block-grid.place-results .children > li:last-child {
  padding-bottom: 15px;
}
.block-grid.place-results .children > li > a::before {
  content: "";
}
.block-grid.place-results .children > li > a:hover {
  left: 0;
}
.block-grid.place-results .showall:hover {
  left: 0;
}

.block-grid.place-results .children a, .block-grid.place-results .showall {
  padding: 6px 5px 6px 20px;
  font-size: 13px;
  font-weight: 400;
  color: #4a5568;
}

.place-results a, .province {
  display: block;
  padding: 14px 20px;
  color: #333;
  text-decoration: none;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  font-size: 14px;
  font-weight: 600;
  position: relative;
  overflow: hidden;
}

.place-results a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 3px;
  background: #2196f3;
  transform: scaleY(0);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.place-results a:hover {
  background: linear-gradient(135deg, #f0f8ff 0%, #e6f3ff 100%);
  color: #2196f3;
}
.place-results a:hover::before {
  transform: scaleY(1);
}

/* ===== Zoekresultaten (2 kolommen) ===== */
.search-results {
  padding: 0;
  background: #fff;
}

.search-result-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

.search-result-item {
  border-bottom: 1px solid #f0f2f5;
  border-right: 1px solid #f0f2f5;
  position: relative;
}
.search-result-item:nth-child(2n) {
  border-right: none;
}
.search-result-item a {
  display: block;
  padding: 16px 20px;
  color: #333;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-size: 14px;
  font-weight: 500;
  position: relative;
  overflow: hidden;
}
.search-result-item a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 4px;
  background: linear-gradient(135deg, #2196f3 0%, #1976d2 100%);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.search-result-item a:hover, .search-result-item a.keyboard-focused {
  background: linear-gradient(135deg, #f0f8ff 0%, #e6f3ff 100%);
  color: #2196f3;
  box-shadow: 0 4px 12px rgba(33, 150, 243, 0.1);
}
.search-result-item a:hover::before, .search-result-item a.keyboard-focused::before {
  transform: scaleY(1);
}

.result-type {
  color: #2196f3;
  font-size: 11px;
  font-weight: 600;
  background: rgba(33, 150, 243, 0.1);
  padding: 2px 8px;
  border-radius: 12px;
  margin-left: 8px;
  display: inline-block;
}

/* ===== Enhanced Loading ===== */
div.loading {
  padding: 40px 20px;
  text-align: center;
  background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
  position: relative;
}
div.loading .loading-text {
  display: inline-block;
  position: relative;
  color: #4a5568;
  font-weight: 500;
  font-size: 15px;
}
div.loading .loading-text::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 12px;
  border: 2px solid #eee;
  border-top: 2px solid #2196f3;
  border-radius: 50%;
  animation: modernSpin 1s linear infinite;
  vertical-align: middle;
}

@keyframes modernSpin {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(1.1);
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}
/* ===== Meldingen: geen resultaten / fout ===== */
.no-results,
.search-error {
  padding: 40px 20px;
  text-align: center;
  font-style: normal;
  font-weight: 500;
  border-radius: 8px;
  margin: 20px;
}

.no-results {
  color: #4a5568;
  background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
  border: 1px solid #e2e8f0;
}
.no-results::before {
  content: "🔍";
  display: block;
  font-size: 32px;
  margin-bottom: 12px;
  opacity: 0.6;
}

.search-error {
  color: #c53030;
  background: linear-gradient(135deg, #fed7d7 0%, #feb2b2 100%);
  border: 1px solid #fc8181;
}
.search-error::before {
  content: "⚠️";
  display: block;
  font-size: 32px;
  margin-bottom: 12px;
}

/* Lege staat binnen results-container */
.results-container.empty-state {
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.results-container.empty-state::after {
  content: attr(data-empty-message);
  color: rgba(0, 0, 0, 0.4);
  font-size: 13px;
}

/* Header met teller */
.results-header {
  padding: 10px 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #eee;
  font-size: 13px;
  color: #555;
  font-weight: 600;
  text-align: center;
  position: sticky;
  top: 0;
  z-index: 5;
}

/* Toetsenbord-navigatie helper */
.keyboard-focused {
  background: linear-gradient(135deg, #f0f8ff 0%, #e6f3ff 100%) !important;
  color: #2196f3 !important;
  box-shadow: 0 4px 12px rgba(33, 150, 243, 0.1) !important;
}

/* Highlight markering */
mark {
  background: #fff3cd !important;
  padding: 1px 2px !important;
  border-radius: 2px !important;
  font-weight: 600 !important;
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
  .plaats-search-dropdown .dropdown-menu {
    max-height: 400px;
    border-radius: 0 0 8px 8px;
  }
  .plaats-search-dropdown .dropdown-search {
    padding: 16px;
  }
  .search-result-list,
  .place-results {
    grid-template-columns: 1fr;
  }
  .search-result-item,
  .place-results li {
    border-right: none;
  }
  .search-result-item a,
  .place-results a {
    padding: 16px 20px;
    font-size: 16px;
  }
  .loading {
    padding: 30px 16px;
  }
  .no-results,
  .search-error {
    margin: 16px;
    padding: 30px 16px;
  }
}
/* ===== Toegankelijkheid / Focus ===== */
.plaats-search-dropdown .dropdown-toggle:focus {
  outline: 2px solid #2196f3;
  outline-offset: 2px;
}

.search-result-item a:focus,
.place-results a:focus {
  outline: 2px solid #2196f3;
  outline-offset: -2px;
  background: linear-gradient(135deg, #f0f8ff 0%, #e6f3ff 100%);
}

/* ===== Filter verbergen bij inline styles ===== */
.plaats-search-dropdown .place-results li[style*="display: none"],
.plaats-search-dropdown .place-item[style*="display: none"] {
  display: none !important;
}

/* ===== Bestemmingen pagina: inline zoekbalk ===== */
.bestemmingen-search-wrapper {
  margin-bottom: 30px;
}
.bestemmingen-search-wrapper .bestemmingen-search-bar {
  max-width: 600px;
}
.bestemmingen-search-wrapper .bestemmingen-search-inner {
  position: relative;
  display: flex;
  align-items: center;
}
.bestemmingen-search-wrapper .bestemmingen-search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #555;
  display: flex;
  align-items: center;
  z-index: 1;
}
.bestemmingen-search-wrapper .bestemmingen-search-icon svg {
  width: 18px;
  height: 18px;
  display: block;
}
.bestemmingen-search-wrapper .bestemmingen-search-input {
  width: 100%;
  padding: 12px 44px 12px 48px;
  border: 2px solid #ddd;
  border-radius: 25px;
  font-size: 1rem;
  font-family: "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #2a2d2e;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.bestemmingen-search-wrapper .bestemmingen-search-input:focus {
  border-color: #28a1c5;
  box-shadow: 0 0 0 3px rgba(40, 161, 197, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
}
.bestemmingen-search-wrapper .bestemmingen-search-input::placeholder {
  color: #666;
}
.bestemmingen-search-wrapper .bestemmingen-search-reset {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  padding: 5px;
  cursor: pointer;
  color: #666;
  display: none;
  line-height: 1;
  border-radius: 50%;
  transition: color 0.15s ease, background 0.15s ease;
}
.bestemmingen-search-wrapper .bestemmingen-search-reset:hover {
  color: #2a2d2e;
  background: #eee;
}
.bestemmingen-search-wrapper .bestemmingen-search-reset svg {
  width: 16px;
  height: 16px;
  display: block;
}
.bestemmingen-search-wrapper .bestemmingen-search-reset.visible {
  display: flex;
  align-items: center;
  justify-content: center;
}
.bestemmingen-search-wrapper .bestemmingen-search-status {
  margin-top: 8px;
  font-size: 0.8125rem;
  color: #555;
  min-height: 20px;
  padding-left: 8px;
}

/* ===== Toon-meer toggle binnen page-hub overzichten =====
   Wordt door de zoek-/filter-JS in template-parts/page-hub-search.php
   per province-children-lijst aangemaakt. Items voorbij de drempel
   krijgen de class .list-overview__hidden zodat de zoekfilter (die
   inline `style.display` gebruikt) niet in conflict komt: tijdens een
   actieve zoekquery wordt de collapse weggehaald en pakt de filter het
   over; bij een lege query past de JS de collapse opnieuw toe. */
.list-overview__hidden {
  display: none !important;
}

.list-overview__toggle-row {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  display: block;
}

.list-overview__toggle {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  color: #2196f3;
  gap: 8px;
  padding: 6px 12px 6px 10px;
  margin: 4px 0 0;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 999px;
  background: #fff;
  font-family: "source_sans_pro", "Source Sans Pro", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(26, 28, 28, 0.04);
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.15s ease;
}
.list-overview__toggle:hover, .list-overview__toggle:focus-visible {
  background: #f0f0f0;
  border-color: rgba(0, 0, 0, 0.12);
  color: #1976d2;
  outline: none;
  box-shadow: 0 4px 10px rgba(0, 104, 121, 0.1);
  transform: translateY(-1px);
}
.list-overview__toggle::before {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  font-size: 0.875rem;
  font-weight: 800;
  color: #28a1c5;
  line-height: 1;
}
.list-overview__toggle[aria-expanded=true]::before {
  content: "−"; /* − */
}
.list-overview__toggle .list-overview__toggle-label {
  white-space: nowrap;
}
.list-overview__toggle .list-overview__toggle-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5em;
  padding: 1px 7px;
  border-radius: 999px;
  background: rgba(40, 161, 197, 0.1);
  color: #28a1c5;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

section.weather {
  margin-bottom: 15px;
}
section.weather iframe {
  display: block;
}

a, button, a::before, a::after, button::before, button::after {
  transition: all 0.22s ease-in-out;
}