html,body{
  margin:0!important;
  padding:0!important;
  background:var(--wp--preset--color--background,#fff)!important;
  overflow-x:hidden;
}
#page,.site,.site-content,.content-area,.wp-site-blocks{margin-bottom:0!important;padding-bottom:0!important;}
.wp-site-blocks>*:last-child,.site-content>*:last-child,.entry-content>*:last-child,main>*:last-child{margin-bottom:0!important;}
footer,.site-footer{margin:0!important;padding-bottom:0!important;}

/* -------- CookieYes Platz reservieren -------- */
body{padding-bottom:140px;}
.cky-consent-container{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  min-height:140px;
}
@media (max-width:768px){
  body{padding-bottom:180px;}
  .cky-consent-container{min-height:180px;}
}

/* -------- Marquee / Topbar sichtbar -------- */
.fp-marquee{
  display:flex;
  align-items:center;
  overflow:hidden;
  white-space:nowrap;
  width:100%;
  min-height:44px;
  background:transparent!important;
  color:#fff!important;
  position:relative;
  z-index:20;
}
.fp-marquee,
.fp-marquee *{
  color:#fff!important;
}
.fp-marquee-track{
  display:flex;
  width:max-content;
  animation:fp-scroll 35s linear infinite;
}
.fp-marquee-track span{
  display:inline-block;
  white-space:nowrap;
  padding-right:90px;
  font-weight:800;
  letter-spacing:.02em;
  font-size:.95rem;
  line-height:1;
  opacity:1;
  color:#000000!important;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
@keyframes fp-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media (max-width:768px){
  .fp-marquee{min-height:40px;}
  .fp-marquee-track span{
    font-size:.85rem;
    padding-right:60px;
  }
}

/* -------- Mobile Container -------- */
@media (max-width:767px){
  .site-content .container,
  .site-content,
  .entry-content,
  .woocommerce .site-content .container{
    max-width:100%!important;
    padding-left:15px!important;
    padding-right:15px!important;
    box-sizing:border-box;
  }
  .content-area,.main-container{
    max-width:100%!important;
    padding-left:15px!important;
    padding-right:15px!important;
  }
}

/* -------- Single Product Containers (Glass) -------- */
.single-product .site-content .container,
.single-product .content-area,
.single-product .entry-content > .woocommerce{
  width:min(100%,1540px);
  max-width:1540px;
  margin-left:auto;
  margin-right:auto;
  padding-left:clamp(10px,1.6vw,22px);
  padding-right:clamp(10px,1.6vw,22px);
  box-sizing:border-box;
}

.single-product div.product{
  display:grid!important;
  grid-template-columns:minmax(34%,40%) minmax(60%,1fr)!important;
  gap:24px;
  align-items:start;
  --fp-product-panels-max-height:clamp(520px,72vh,780px);
}

.single-product .related.products{
  display:block;
  width:100%;
  margin-top:28px;
  clear:both;
}

.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .upsells.products{
  float:none!important;
  clear:both!important;
  display:block!important;
  width:100%!important;
  max-width:100%;
  margin-left:0!important;
  margin-right:0!important;
  grid-column:1 / -1!important;
}

.single-product .woocommerce-tabs{
  margin-top:28px;
  order:3;
}

.single-product .woocommerce-tabs .panel{
  max-width:none;
}

.single-product .related.products{
  margin-top:30px;
  margin-bottom:36px;
  padding-bottom:10px;
  order:4;
}

.single-product .related.products ul.products{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:0;
  width:100%;
}

.single-product .related.products ul.products li.product{
  float:none!important;
  width:100%!important;
  margin:0!important;
}

/* Hide "Ungeprüfte Gesamtbewertungen" authenticity hint, keep rating stars/review links. */
.wc-gzd-rating-authenticity-status,
.wc-gzd-rating-authenticity-status.is-unverified,
.wc-gzd-additional-info.wc-gzd-rating-authenticity-status{
  display:none!important;
}

@media (max-width:980px){
  .single-product div.product{
    grid-template-columns:1fr!important;
    gap:16px;
  }
  .single-product .site-content .container,
  .single-product .content-area,
  .single-product .entry-content > .woocommerce{
    padding-left:14px;
    padding-right:14px;
  }

  .single-product .related.products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
}

@media (min-width:981px) and (max-width:1240px){
  .single-product .related.products ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:640px){
  .single-product .related.products ul.products{
    grid-template-columns:1fr;
    gap:10px;
  }

  .single-product .related.products ul.products li.product .button{
    width:100%;
    min-height:40px;
    line-height:1.25;
    white-space:normal;
  }

  .single-product .related.products{
    margin-bottom:28px;
    padding-bottom:10px;
  }
}

/* -------- Forms (Glass) -------- */
.page-id-XXXX form,
.page-template-default form,
.wpforms-form,
.wpcf7 form,
.ff_form_wrapper form{
  max-width:720px;
  margin:40px auto;
  padding:32px;
  border-radius:28px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 25px 90px rgba(0,0,0,.25);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
input,textarea,select{
  width:100%;
  padding:14px 16px;
  margin-bottom:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.15);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:border .2s ease,background .2s ease,box-shadow .2s ease;
}
input:focus,textarea:focus,select:focus{
  outline:none;
  border-color:rgba(255,255,255,.35);
  background:rgba(0,0,0,.20);
  box-shadow:0 0 0 4px rgba(255,255,255,.08);
}
button,input[type="submit"],.wpforms-submit{
  width:100%;
  padding:16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-weight:900;
  font-size:16px;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
label{font-weight:800;margin-bottom:6px;display:block;}
.wpcf7-not-valid-tip,.wpforms-error{font-size:14px;margin-top:-10px;margin-bottom:14px;}
@media (max-width:768px){
  .wpforms-form,.wpcf7 form,.ff_form_wrapper form{padding:22px;margin:20px;}
  input,textarea,select{padding:12px;}
}

/* -------- Glass Window Wrapper -------- */
.fp-glass-window{
  max-width:900px;
  margin:40px auto;
  padding:clamp(18px,2.5vw,34px);
  border-radius:22px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 55px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.10);
  overflow:hidden;
}
.fp-glass-window input[type="text"],
.fp-glass-window input[type="email"],
.fp-glass-window input[type="tel"],
.fp-glass-window input[type="url"],
.fp-glass-window textarea,
.fp-glass-window select{
  width:100%;
  border-radius:14px;
  padding:14px;
  color:inherit;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.16);
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.fp-glass-window textarea{min-height:140px;resize:vertical;}
.fp-glass-window input:focus,
.fp-glass-window textarea:focus,
.fp-glass-window select:focus{
  border-color:rgba(255,255,255,.30);
  box-shadow:0 0 0 4px rgba(255,255,255,.10), inset 0 1px 0 rgba(255,255,255,.08);
}
.fp-glass-window label{display:inline-block;margin:10px 0 6px;opacity:.92;}
.fp-glass-window button,
.fp-glass-window input[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(255,255,255,.10);
  color:inherit;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
@media (max-width:600px){
  .fp-glass-window{margin:22px 14px;border-radius:18px;}
}

/* -------- FAQ (Premium Glass) -------- */
.fp-faq{
  --fp-bg:#070907;
  --fp-ink:#000;
  --fp-muted:#1a1a1a;
  --fp-line:rgba(0,0,0,.14);
  --fp-accent:#1f8a5a;
  --fp-accent2:#c8b68a;
  --fp-glass:rgba(255,255,255,.78);
  --fp-glass2:rgba(255,255,255,.60);
  max-width:980px;
  margin:44px auto;
  padding:clamp(18px,2.4vw,34px);
  color:var(--fp-ink);
}
.fp-faq.fp-glass{
  border-radius:22px;
  background:linear-gradient(180deg,var(--fp-glass),var(--fp-glass2));
  border:1px solid var(--fp-line);
  box-shadow:0 18px 60px rgba(0,0,0,.16);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  overflow:hidden;
}
.fp-faq__header{padding-bottom:16px;border-bottom:1px solid rgba(0,0,0,.10);margin-bottom:18px;}
.fp-faq__title{margin:0 0 8px;letter-spacing:.2px;font-size:clamp(22px,2.2vw,30px);line-height:1.15;color:var(--fp-ink);}
.fp-faq__subtitle{margin:0;color:var(--fp-muted);opacity:.85;line-height:1.5;}
.fp-faq__grid{display:grid;gap:12px;margin-top:18px;}
.fp-faq__item{
  border-radius:16px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(0,0,0,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
  overflow:hidden;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.fp-faq__q{
  list-style:none;
  cursor:pointer;
  padding:16px 18px;
  font-weight:800;
  line-height:1.35;
  color:var(--fp-ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.fp-faq__q::-webkit-details-marker{display:none;}
.fp-faq__q::after{
  content:"";
  width:10px;height:10px;
  border-right:2px solid rgba(0,0,0,.65);
  border-bottom:2px solid rgba(0,0,0,.65);
  transform:rotate(45deg);
  transition:transform .18s ease,border-color .18s ease;
  flex:0 0 auto;
}
.fp-faq__item[open]>.fp-faq__q::after{transform:rotate(-135deg);border-color:rgba(0,0,0,.85);}
.fp-faq__a{padding:0 18px 16px;color:var(--fp-muted);line-height:1.65;}
.fp-faq__item[open]{border-color:rgba(31,138,90,.35);box-shadow:inset 0 0 0 1px rgba(31,138,90,.16);}
.fp-faq__footer{margin-top:18px;padding-top:14px;border-top:1px solid rgba(0,0,0,.10);}
.fp-faq__note{margin:0;color:rgba(0,0,0,.65);font-size:.95rem;line-height:1.5;}
@media (max-width:640px){
  .fp-faq{margin:26px 14px;}
  .fp-faq__q{padding:14px;}
  .fp-faq__a{padding:0 14px 14px;}
}

/* CTA unter FAQ */
.fp-faq-cta{
  margin-top:28px;
  padding:28px 22px;
  text-align:center;
  border-radius:18px;
  background:rgba(255,255,255,.65);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(0,0,0,.15);
  box-shadow:0 14px 40px rgba(0,0,0,.18);
}
.fp-faq-cta h3{margin:0 0 8px;font-size:1.4rem;font-weight:700;color:#000;}
.fp-faq-cta p{margin:0 0 18px;font-size:1rem;opacity:.9;color:#000;}
.fp-faq-cta-btn{
  display:inline-block;
  padding:14px 26px;
  border-radius:14px;
  background:#1f8a5a;
  color:#fff!important;
  text-decoration:none;
  font-weight:600;
  letter-spacing:.3px;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

/* -------- CBD FAQ -------- */
.fp-cbd-faq{
  --ink:#000;
  --muted:#111;
  --line:rgba(0,0,0,.14);
  --glass:rgba(255,255,255,.78);
  --glass2:rgba(255,255,255,.60);
  --accent:#1f8a5a;
  --accentHover:#176b46;
  max-width:980px;
  margin:44px auto;
  padding:clamp(18px,2.4vw,34px);
  color:var(--ink);
}
.fp-cbd-faq.fp-glass{
  border-radius:22px;
  background:linear-gradient(180deg,var(--glass),var(--glass2));
  border:1px solid var(--line);
  box-shadow:0 18px 60px rgba(0,0,0,.16);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  overflow:hidden;
}
.fp-cbd-faq__header{padding-bottom:16px;border-bottom:1px solid rgba(0,0,0,.10);margin-bottom:18px;}
.fp-cbd-faq__title{margin:0 0 8px;font-size:clamp(22px,2.2vw,30px);line-height:1.15;color:var(--ink);}
.fp-cbd-faq__subtitle{margin:0;color:var(--muted);opacity:.85;line-height:1.5;}
.fp-cbd-faq__grid{display:grid;gap:12px;margin-top:18px;}
.fp-cbd-faq__item{
  border-radius:16px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(0,0,0,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
  overflow:hidden;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.fp-cbd-faq__q{
  list-style:none;
  cursor:pointer;
  padding:16px 18px;
  font-weight:800;
  line-height:1.35;
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.fp-cbd-faq__q::-webkit-details-marker{display:none;}
.fp-cbd-faq__q::after{
  content:"";
  width:10px;height:10px;
  border-right:2px solid rgba(0,0,0,.65);
  border-bottom:2px solid rgba(0,0,0,.65);
  transform:rotate(45deg);
  transition:transform .18s ease,border-color .18s ease;
  flex:0 0 auto;
}
.fp-cbd-faq__item[open]>.fp-cbd-faq__q::after{transform:rotate(-135deg);border-color:rgba(0,0,0,.85);}
.fp-cbd-faq__a{padding:0 18px 16px;color:var(--muted);line-height:1.65;}
.fp-cbd-faq__a strong{color:var(--ink);}
.fp-cbd-faq__item[open]{border-color:rgba(31,138,90,.35);box-shadow:inset 0 0 0 1px rgba(31,138,90,.16);}
.fp-cbd-faq-cta{
  margin-top:26px;
  padding:26px 22px;
  text-align:center;
  border-radius:18px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(0,0,0,.12);
  box-shadow:0 14px 40px rgba(0,0,0,.12);
}
.fp-cbd-faq-cta h3{margin:0 0 8px;font-size:1.35rem;font-weight:900;color:var(--ink);}
.fp-cbd-faq-cta p{margin:0 0 16px;color:var(--muted);opacity:.9;}
.fp-cbd-faq-cta__btn{
  display:inline-block;
  padding:14px 26px;
  border-radius:14px;
  background:var(--accent);
  color:#fff!important;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.3px;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.fp-cbd-faq__footer{margin-top:18px;padding-top:14px;border-top:1px solid rgba(0,0,0,.10);}
.fp-cbd-faq__note{margin:0;color:rgba(0,0,0,.65);font-size:.95rem;line-height:1.5;}
@media (max-width:640px){
  .fp-cbd-faq{margin:26px 14px;}
  .fp-cbd-faq__q{padding:14px;}
  .fp-cbd-faq__a{padding:0 14px 14px;}
}
