/****************************** Readme ********************************
Project: 

Color H1: #e1c646;

Media Queries
/* Small only 
@media screen and (max-width: 39.9375em) {}

/* Medium and up 
@media screen and (min-width: 40em) {}

/* Medium only
@media screen and (min-width: 40em) and (max-width: 63.9375em) {}

/* Large and up 
@media screen and (min-width: 64em) {}

/* Large only
@media screen and (min-width: 64em) and (max-width: 74.9375em) {}
/****************************** Font *********************************/

:root {
    --primary-color: #fff;
    --secondary-color: #4d4d4d;
    --hover: #cea939;
    --shadow-color: rgba(0,0,0,0.25);
    --highlight-color: rgba(255,255,255,0.15);;
    --shadow-color-light: #fff;
    --primary-reveal: #fff;
    --secondary-reveal: #dedede;
    --hs-gold: #cea939;

    /* Farben & Typo */
    --bg: #4f4038;              /* Grundhintergrund */
    --panel: #6a574d;           /* Spaltenhintergrund */
    --panel-muted: #7a675d;     /* Hover/aktive Schattierung */
    --text: #f2e6d8;            /* Standardtext */
    --muted: #dacbbd;           /* Untertitel */
    --accent: #d2aa3b;          /* Gold */

    /* Layout */
    --left-col-w: 260px;        /* fixierte linke Spalte */
    --col-w: clamp(220px, 28vw, 360px);
    --g: 14px;                  /* allgemeiner Gap */
    --radius: 14px;

    /* Sichtbare Spalten (JS passt das je nach Breakpoint an) */
    --visible-cols: 3;

    /* Animation */
    --dur: .35s;
    --easing: cubic-bezier(.23,1,.32,1);
}

@font-face {
    font-family: 'Boutique';
    src: url('../fonts/boutiquescript-webfont.woff2') format('woff2'),
         url('../fonts/boutiquescript-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

.fenix {
  font-family: 'Fenix', serif;
  font-weight: 400;
  font-style: normal;
}

.lato {
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-style: normal;
}


/****************************** Basic *********************************/
body {
    background-color: #f0eae0;
    font-family: 'Lato' !important;
    font-size: 17px;
    background: url(../images/pattern.jpg);
    color: var(--primary-color);
}

p {
    line-height: 1.85;
}

.article-header hr {
    margin-top: 7px;
}

hr {
    border: 0 none;
    height: 3.75rem;
}

hr:after {
    content: url(../images/divider.png);
}

strong {

}

a {
    color: #555;
}

a.active {
    color: #333;
}

a:hover,
a:focus {
    color: #333;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Fenix';
    color: var(--primary-color);
}

h1 {
    font-family: 'Fenix';
    position: relative;
    font-size: 2.25rem;
    color: var(--primary-color);
    text-align: center;
    margin-bottom: 0;
    font-smooth: always;
    animation: neon 3s infinite;
}

.reveal p {
    margin-bottom: 1.5rem;
    font-family: 'Fenix';
}
.reveal h2 {
    font-family: 'Boutique';
    font-size:  7.5rem;
    line-height: 6rem;
}


.button {
    background-color: #000;
    -webkit-transition: all 1.5s ease;
    -moz-transition: all 1.5s ease;
    -o-transition: all 1.5s ease;
    transition: all 1.5s ease;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.85rem;
    padding: 0.65em 1em;

}

.button {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.85em 1em;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 3px;
    transition: all 0.25s ease-out, color 0.25s ease-out;
    font-size: 0.9rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: var(--hover);
    color: #fefefe;
}

.button:hover {
    background-color: #ccc;
    box-shadow: 0px 0px 13.95px 1.05px rgba(255,255,255,.4);
}

.custom-lightboxes{
    display: none;
}



/****************************** Off-Canvas Nav *********************************/
img.logo {
    max-height: 64px;
}

#off-canvas-top img.logo {
    margin-bottom: 1rem;
}

.position-top {
    overflow: visible;
    height: auto;
    transition: all 0.5s ease-out;
}

.submenu {
    background: #ddd;
    border: 0 none;
}

#off-canvas-top > .menu {
    padding-top: 1.5rem;
}

.off-canvas {
    background: #fff;
    transition: all 0.75s ease-out;
}

.off-canvas-toggle {
    width: 100%;
}
.off-canvas-toggle button {
    width: 100%;
    padding: 0.75rem 0.75rem 0.6rem;
    text-align: left;
    background: #ccc;
    cursor: pointer;
}

.close-button {
    right: 1rem;
    top: 1rem;
    font-size: 1em;
    line-height: 1;
    z-index: 9;
}

.mail-button {
    position: absolute;
    left: 1rem;
    top: 1rem;
    font-size: 1em;
    line-height: 1;
    z-index: 9;
}

.off-canvas.is-transition-overlap {
    opacity: 0;
    transition: all 0.75s ease-out;
}

.off-canvas.is-open {
    opacity: 1;
    transition: all 0.75s ease-out;
}

/****************************** Custom Styles *********************************/
#top {
    position: absolute;
    top: 0;
    left: 0;
}

section.hero {
    margin-bottom: 2rem;
}

img.logo-nav-mobile {
    display: block;
    max-width: 250px;
    margin: 1rem auto;
}

img.logo-off-canvas {
    display: block;
    max-width: 250px;
    margin: 1rem auto;
}

section.main-nav ul {
    margin: 0;
}

section.main-nav ul li {
    list-style: none;
    display: inline-block;
}

img.logo-footer,
img#logo {
    max-width: 250px;
}

ul.quick-info li a,
ul.sprachteiler li a {
    padding: 0.7rem .25rem;
    display: block;
    line-height: 1;
}

ul.quick-info li a i {
    font-size: .85rem;
}

header.article-header h2 {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: #fff;
    font-family: 'Lato', sans-serif;
    margin-bottom: 0;
}

footer.main {
    padding: 10rem 0 0;
    background: url(../images/footer-bg.jpg) center top no-repeat;
    background-size: cover;
}

footer.main a.button {
    background-color: #cea939;
    font-size: 1.2rem;
    color: #fff;
}

footer.main a {
    color: #cea939;
}

footer.main a.icon {
    color: #fff;
    padding: 10px;
}

footer.main a.footer-email {
    font-size: 1.875rem;
    font-family: 'fenreg', serif;
    line-height: 55px;
}

.contact-block {
    margin: 2rem 0;
}

ul.footer-logos {
    margin: 0;
}

ul.footer-logos li {
    display: inline-block;
    list-style: none;
    padding: 0 1rem;
}
.secondary-footer {
    margin-top: 3rem;
    padding: 1rem;
    background: #fff;
    font-size: .75rem;
    color: #a99f9a;
}

.secondary-footer a {
    text-transform: uppercase;
    color: #a99f9a;
}

#main-nav a.button {
    background-color: #cea939;
    font-size: 1.2rem;
    color: #fff;
    margin-top: 4px;
}

#main-nav a.button:hover {
    color: #fff;
    background-color: #a4872e;
}

.quick-info,
#large-spteiler {
    padding-top: 6px;
}

.quick-info.mobile {
    text-align: center;
}

.sonstiges, .highlights {
    padding-top: 3rem;
}

.sonstiges ul,
.highlights ul {
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}

.ssonstiges ul li,
.highlights ul li {
  list-style-image: url('../images/checkmark.png');
  margin-left: 0.75rem;
  line-height: 1.75;
}

.sonstiges ul li > ul,
.highlights ul li > ul {
  margin-top: 0;
  margin-bottom: 0;
}

section.preise h1 {
    font-family: 'Boutique';
    font-size:  5.5rem;
}

.p-winter {
    margin-top: 2rem;
}

.p-sommer {
    margin-top: -2rem;
}

label {
    color: #fff;
}

label a {
    color: var(--hs-gold);
}

label a:hover {
    color: var(--hs-gold);
    filter: brightness(85%);
    -webkit-transition: all 300ms ease-out;
    -moz-transition: all 300ms ease-out;
    -ms-transition: all 300ms ease-out;
    -o-transition: all 300ms ease-out;
    transition: all 300ms ease-out;
}

.wpcf7-list-item {
    margin: 0;
    font-size: .875rem;
}

input.wpcf7-submit {
    padding: 1rem 2rem;
    text-align: center;
    font-family: 'Fenix';
    font-size: 1.25rem;
    color: var(--secondary-color);
    background: #fff;
    border: 0 none;
    width: 100%;
}

form p {
    margin-bottom: 0;
}

[type=checkbox] {
    margin-bottom: 0;
    margin-right: .5rem;
}

.disclaimer br {
    display: none;
}

form.wpcf7-form {
    margin-top: 2rem;
}

section.anfrage-block {
    margin-top: 3rem;
}

section#main-nav button.menubtn i {
    color: #fff;
}

/****************************** Responsive Styles *********************************/
/* Small only */
@media screen and (max-width: 39.9375em) {
    .secondary-footer .cell {
        text-align: center !important;
        padding: .5rem 0;
    }
    .reveal h2 {
        font-size: 4.5rem;
    }
    #fixed-wrapper {
        padding-top: 1rem !important;
        padding-bottom: 0 !important;
    }
}

/* Medium and up */
@media screen and (min-width: 40em) {
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {}

/* Large and up */
@media screen and (min-width: 64em) {}

/* Large only */
@media screen and (min-width: 64em) and (max-width: 74.9375em) {}

/****************************** Carousel *********************************/
    :root {
      /* Farben & Typografie */
      --bg: #4f4038;              /* Grundhintergrund */
      --card: #6a574d;            /* Kartenhintergrund */
      --cardSoft: #7a675d;        /* Hover/aktive Schattierung */
      --ink: #f2e6d8;             /* Text */
      --muted: #dacbbd;           /* Sekundärtext */
      --accent: #cea939;          /* Gold */

      /* Layoutwerte */
      --g: 14px;                  /* Gap */
      --radius: 14px;
      --col-w: clamp(240px, 24vw, 360px);

      /* Sichtbare Spalten: Desktop 4 */
      --visible-cols: 4;

      /* Animation */
      --dur: .35s;
      --easing: cubic-bezier(.23,1,.32,1);
    }

    * { box-sizing: border-box; }
    html, body { height: 100%; }
    body {
      margin: 0;


      font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, "Helvetica Neue", Arial, "Noto Sans";
    }

    .wrap {
      max-width: 1200px;
      margin: 24px auto 0;
      padding: 0 0;
    }



    /* Slider-Bereich */
    .slider {
      position: relative;
      overflow: hidden; 
      padding-bottom: 0 !important; 
      margin-bottom: 0 !important;
      background: transparent;
      height: auto;
    }

    .controls {
      position: relative;
      inset: -6px 0 auto 0;
      display: flex;
      justify-content: space-between;
      pointer-events: none;
      z-index: 3;
    }

    .nav-btn {
      pointer-events: auto;
      display: grid; place-items: center;
      width: 40px; height: 40px;
      margin: 6px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.22);
      background: rgba(0,0,0,.35);
      color: var(--ink);
      cursor: pointer;
      transition: transform var(--dur) var(--easing), opacity var(--dur) var(--easing), background var(--dur) var(--easing);
    }
    .nav-btn:hover { transform: scale(1.06); background: rgba(0,0,0,.45); }
    .nav-btn[disabled] { opacity: .38; cursor: not-allowed; }

    .viewport { width: 100%; overflow: hidden; }

    .track {
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 24%;
      gap: var(--g);
      padding: 4px 2px 8px;
      transform: translateX(0);
      transition: transform var(--dur) var(--easing);
      will-change: transform;
    }

    /* Karte/Spalte */
    .card {
      display: grid;
      grid-template-rows: auto auto 1fr;
      gap: var(--g);
      background: var(--card);
      border: 0 none;
      padding: 10px 14px 14px;
      box-shadow: inset 0 0 0 1px rgba(0,0,0,.15);
    }

    .card header { padding: 6px 6px 10px; border-bottom: 1px dashed rgba(255,255,255,.18); }
    .card .range { color: var(--accent); font-weight: 700; font-size: clamp(16px, 2.2vw, 18px); }

    .group { display: grid; gap: 10px; }
    .group h3 { margin: 0; font-size: 24px; }

    .row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; }
    .row .label { color: var(--muted); font-size: 14px; background: transparent;}
    .row .price { font-weight: 700; font-size: 18px; color: #fff;}
    .row small { color: var(--muted); display: block; font-weight: 500; font-size: 12px; }

    /* Breakpoints: Tablet 3, Handy 1 */
    @media (max-width: 1024px) { :root { --visible-cols: 3; } .track { grid-auto-columns: 32%; } }
    @media (max-width: 640px)  { :root { --visible-cols: 1; } .track { grid-auto-columns: 99%; } }