/*
Theme Name: Boden- und Raumstudio Schieder
Theme URI: https://im-marketing.at
Template: hello-biz
Author: Impact Marketing
Author URI: https://im-marketing.at
Description: A child theme of the Hello Biz Theme
Version: 1.0.1
*/


/* =========================
   GLOBAL VARIABLES
   ========================= */

:root{

  --schieder-accent-red:#BD1C34;

  /* typography */

  --schieder-category-font-family:"Open Sans",sans-serif;
  --schieder-category-font-weight:400;
  --schieder-category-font-size:36px;
  --schieder-category-letter-spacing:0.06em;

  /* layout */

  --schieder-category-radius:15px;

  /* motion */

  --schieder-ease:cubic-bezier(.22,.61,.36,1);
  --schieder-zoom-duration:1400ms;
  --schieder-hover-duration:500ms;
  --schieder-image-scale:1.06;

  /* image */

  --schieder-image-saturation:0.92;
  --schieder-image-contrast:1.05;

  /* brightness */

  --schieder-image-brightness:0.82;
  --schieder-image-brightness-hover:0.72;

}


/* =========================
   CARD
   ========================= */

.schieder-category-card{

  position:relative;
  overflow:hidden;

  border-radius:var(--schieder-category-radius);

  cursor:pointer;
  background:#111;

  isolation:isolate;

  transition:
  box-shadow var(--schieder-hover-duration) var(--schieder-ease);

}


/* =========================
   IMAGE
   ========================= */

.schieder-category-card__image{

  width:100%;
  height:100%;

  object-fit:cover;
  aspect-ratio:4/3;

  display:block;

  position:relative;
  z-index:1;

  filter:
  brightness(var(--schieder-image-brightness))
  saturate(var(--schieder-image-saturation))
  contrast(var(--schieder-image-contrast));

  transform:scale(1);

  transition:

  transform var(--schieder-zoom-duration) var(--schieder-ease),
  filter var(--schieder-hover-duration) var(--schieder-ease);

}


/* =========================
   TITLE CONTAINER
   ========================= */

.schieder-category-card__title{

  position:absolute;
  inset:0;

  z-index:2;

  display:grid;
  place-items:center;

  padding:24px;

  text-align:center;

  font-family:var(--schieder-category-font-family);
  font-weight:var(--schieder-category-font-weight);
  font-size:var(--schieder-category-font-size);

  letter-spacing:var(--schieder-category-letter-spacing);
  text-transform:uppercase;

  line-height:1.08;

  color:#fff;

  pointer-events:none;

}


/* =========================
   TEXT VISIBILITY
   ========================= */

.schieder-category-card__title span{

  position:relative;

  padding:4px 10px;

  text-shadow:

    0 0 2px rgba(0,0,0,0.85),
    0 0 8px rgba(0,0,0,0.55),
    0 0 18px rgba(0,0,0,0.45);

  transition:
  transform var(--schieder-hover-duration) var(--schieder-ease);

}


/* =========================
   SUBTLE TEXT GRADIENT
   ========================= */

.schieder-category-card__title span::before{

  content:"";

  position:absolute;
  inset:-16px -24px;

  z-index:-1;

  background:radial-gradient(
    ellipse at center,
    rgba(0,0,0,0.18) 0%,
    rgba(0,0,0,0.08) 45%,
    rgba(0,0,0,0) 75%
  );

  border-radius:24px;

}


/* =========================
   LONG TITLES
   ========================= */

.schieder-category-card__title--narrow{

  font-size:30px!important;

  letter-spacing:0.045em;

}


/* =========================
   HOVER EFFECTS
   ========================= 

.schieder-category-card:hover .schieder-category-card__image{

  transform:scale(var(--schieder-image-scale));

  filter:

  brightness(var(--schieder-image-brightness-hover))
  saturate(var(--schieder-image-saturation))
  contrast(var(--schieder-image-contrast));

}


.schieder-category-card:hover .schieder-category-card__title span{

  transform:scale(1.03);

}*/


/* =========================
   PREMIUM BORDER
   ========================= 

.schieder-category-card:hover{

  box-shadow:

  0 0 0 2px var(--schieder-accent-red),

  inset 0 0 0 1px rgba(255,255,255,0.15),

  0 0 20px rgba(189,28,52,0.35);

}*/


.schieder-category-card-link{
  display:block;
  text-decoration:none;
  color:inherit;
}


@media (max-width:767px){

  .schieder-category-card__title{
    padding:12px;
    font-size:clamp(23px,7.2vw,34px);
    letter-spacing:0.03em;
    line-height:1.12;
    text-wrap:balance;
  }

  .schieder-category-card__title span{
    padding:0;
  }
}

/* Tablet: mehr Fläche, größer */
@media (min-width:768px) and (max-width:1024px){

  .schieder-category-card__title{
    padding:18px;
    font-size:clamp(28px,3.6vw,34px);
    letter-spacing:0.045em;
    text-wrap:balance;
  }
}


@media (hover:hover) and (pointer:fine){

  .schieder-category-card:hover .schieder-category-card__image{
    will-change:transform,filter;
    transform:scale(var(--schieder-image-scale));
    filter:
      brightness(var(--schieder-image-brightness-hover))
      saturate(var(--schieder-image-saturation))
      contrast(var(--schieder-image-contrast));
  }

  .schieder-category-card:hover .schieder-category-card__title span{
    transform:scale(1.03);
  }

  .schieder-category-card:hover{
    box-shadow:
      0 0 0 2px var(--schieder-accent-red),
      inset 0 0 0 1px rgba(255,255,255,0.15),
      0 0 20px rgba(189,28,52,0.35);
  }
}


@media (hover:none),(pointer:coarse){

  .schieder-category-card__image{
    filter:none;
    transform:none;
    transition:none;
    will-change:auto;
  }

  .schieder-category-card::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:rgba(0,0,0,0.18);
    pointer-events:none;
  }

  .schieder-category-card{
    transition:none;
    box-shadow:none;
    -webkit-tap-highlight-color:transparent;
  }

  .schieder-category-card__title span{
    transition:none;
  }
}


/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/


/* =========================
REFERENZEN GRID BUSINESS
========================= */

.ref-grid{
display:grid;
grid-template-columns:repeat(10,1fr);
grid-auto-rows:440px;
gap:30px;
}

/* CARD */

.ref-card{
position:relative;
overflow:hidden;
border-radius:10px;
display:block;
color:white;
text-decoration:none;
}

/* IMAGE */

.ref-card img{
width:100%;
height:100%;
object-fit:cover;
transition:
transform 1s cubic-bezier(.22,.61,.36,1),
filter 1s cubic-bezier(.22,.61,.36,1);
}

/* OVERLAY */

.ref-overlay{
position:absolute;
inset:0;
background:linear-gradient(
180deg,
rgba(0,0,0,.15),
rgba(0,0,0,.80)
);
opacity:.15;
transition:opacity .9s cubic-bezier(.22,.61,.36,1);
}

/* TEXT CONTAINER */

.ref-text{
position:absolute;
top:50%;
left:50%;
width:calc(100% - 60px);
transform:translate(-50%,-50%) translateY(24px);
text-align:center;
opacity:0;
transition:
transform .9s cubic-bezier(.22,.61,.36,1),
opacity .9s cubic-bezier(.22,.61,.36,1);
}

/* TITLE */

.ref-title{
font-family:'Redressed',cursive;
font-size:clamp(38px,3vw,52px);
font-weight:500;
line-height:1.1;
color:white;
text-shadow:0 4px 18px rgba(0,0,0,.45);
}

/* LOCATION */

.ref-location{
font-family:'Open Sans',sans-serif;
font-size:clamp(14px,1vw,18px);
letter-spacing:.25em;
text-transform:uppercase;
margin-top:10px;
color:white;
text-shadow:0 3px 12px rgba(0,0,0,.35);
}

/* HOVER EFFECT */

.ref-card:hover img{
transform:scale(1.06);
filter:brightness(.70);
}

.ref-card:hover .ref-overlay{
opacity:1;
}

.ref-card:hover .ref-text{
opacity:1;
transform:translate(-50%,-50%);
}

/* =========================
LAYOUT PATTERN BUSINESS
55 / 45
45 / 55
50 / 50
========================= */

.ref-grid .ref-card:nth-child(6n+1){
grid-column:span 6;
}

.ref-grid .ref-card:nth-child(6n+2){
grid-column:span 4;
}

.ref-grid .ref-card:nth-child(6n+3){
grid-column:span 4;
}

.ref-grid .ref-card:nth-child(6n+4){
grid-column:span 6;
}

.ref-grid .ref-card:nth-child(6n+5){
grid-column:span 5;
}

.ref-grid .ref-card:nth-child(6n+6){
grid-column:span 5;
}

/* ===== TOUCH-LAYOUT: Tablet + Handy ===== */
@media (max-width:1024px){

  .ref-grid{
    grid-template-columns:repeat(2,1fr);
    grid-auto-rows:auto;
    gap:24px;
  }

  .ref-card{
    grid-column:span 1!important;
    aspect-ratio:4/3;
    -webkit-tap-highlight-color:transparent;
  }

  /* Hover/Focus/Active für Touch neutralisieren */
  .ref-card img,
  .ref-card:hover img,
  .ref-card:focus img,
  .ref-card:active img{
    transform:none!important;
    filter:none!important;
    transition:none!important;
  }

  .ref-overlay,
  .ref-card:hover .ref-overlay,
  .ref-card:focus .ref-overlay,
  .ref-card:active .ref-overlay{
    opacity:1!important;
    transition:none!important;
    background:linear-gradient(
      to top,
      rgba(0,0,0,.78) 0%,
      rgba(0,0,0,.55) 20%,
      rgba(0,0,0,.18) 42%,
      rgba(0,0,0,0)   62%
    );
  }

  .ref-text,
  .ref-card:hover .ref-text,
  .ref-card:focus .ref-text,
  .ref-card:active .ref-text{
    top:auto;
    bottom:24px;
    left:24px;
    width:calc(100% - 48px);
    transform:none!important;
    opacity:1!important;
    transition:none!important;
    text-align:center;
  }

  .ref-title{
    font-size:38px;
    line-height:1.08;
    text-shadow:0 2px 10px rgba(0,0,0,.35);
  }

  .ref-location{
    font-size:13px;
    letter-spacing:.22em;
    margin-top:8px;
    opacity:.92;
    text-shadow:none;
  }
}

/* ===== nur Handy ===== */
@media (max-width:767px){
  .ref-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  .ref-title{ font-size:34px; }
  .ref-location{ font-size:12px; margin-top:6px; }
}


/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/


/* =========================
REFERENZEN GRID PRIVAT
========================= */

.ref-grid-privat{
display:grid;
grid-template-columns:repeat(10,1fr);
grid-auto-rows:440px;
gap:30px;
}

/* =========================
LAYOUT PATTERN PRIVAT
50 / 50
45 / 55
55 / 45
========================= */

.ref-grid-privat .ref-card:nth-child(6n+1){
grid-column:span 5;
}

.ref-grid-privat .ref-card:nth-child(6n+2){
grid-column:span 5;
}

.ref-grid-privat .ref-card:nth-child(6n+3){
grid-column:span 4;
}

.ref-grid-privat .ref-card:nth-child(6n+4){
grid-column:span 6;
}

.ref-grid-privat .ref-card:nth-child(6n+5){
grid-column:span 6;
}

.ref-grid-privat .ref-card:nth-child(6n+6){
grid-column:span 4;
}

/* ===== Touch-Layout Tablet + Handy ===== */
@media (max-width:1024px){

  .ref-grid-privat{
    grid-template-columns:repeat(2,1fr);
    grid-auto-rows:auto;
    gap:24px;
  }

  /* Scrim flacher – nur eine Textzeile statt zwei */
  .ref-grid-privat .ref-overlay{
    background:linear-gradient(
      to top,
      rgba(0,0,0,.76) 0%,
      rgba(0,0,0,.50) 18%,
      rgba(0,0,0,.15) 36%,
      rgba(0,0,0,0)   54%
    );
  }

  .ref-grid-privat .ref-text{
    bottom:26px;
  }

  .ref-grid-privat .ref-title{
    font-size:clamp(26px,3.4vw,34px);
    line-height:1.06;
    text-wrap:balance;
  }
}

/* ===== HANDY ===== */
@media (max-width:767px){

  .ref-grid-privat{
    grid-template-columns:1fr;
    gap:20px;
  }

  .ref-grid-privat .ref-title{
    font-size:clamp(28px,8vw,34px);
  }
}



/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/



/* ==========================================================================
   Schieder Sale Cards
   ========================================================================== */

.sch-sale-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 42px;
	align-items: stretch;
}

.sch-sale-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: #fcfbf8;
	border: 1px solid #d8d1c8;
	border-radius: 28px;
	box-shadow: 0 6px 18px rgba(28, 23, 18, 0.04);
	font-family: "Open Sans", sans-serif;
	transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.sch-sale-card:hover {
	transform: translateY(-4px);
	border-color: rgba(179, 41, 56, 0.24);
	box-shadow: 0 18px 34px rgba(28, 23, 18, 0.08);
}

.sch-sale-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #ebe4db;
}

.sch-sale-card__media-open {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
}

.sch-sale-card__image,
.sch-sale-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
}

.sch-sale-card__image {
	object-fit: cover;
	transition: transform 0.55s ease;
}

.sch-sale-card:hover .sch-sale-card__image {
	transform: scale(1.025);
}

.sch-sale-card__placeholder {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.35), transparent 45%),
		linear-gradient(135deg, #e9e1d7 0%, #d9cfc3 100%);
}

.sch-sale-card__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 18px;
	border-radius: 18px;
	background: #b32938;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	pointer-events: none;
}

.sch-sale-card__arrow {
	position: absolute;
	top: 50%;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0 0 4px;
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 50%;
	background: rgba(27, 23, 19, 0.48);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
	color: #fff;
	font: 400 31px/1 Arial, sans-serif;
	cursor: pointer;
	opacity: 0.22;
	transform: translateY(-50%);
	transition: opacity 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.sch-sale-card__arrow--prev {
	left: 12px;
}

.sch-sale-card__arrow--next {
	right: 12px;
}

.sch-sale-card:hover .sch-sale-card__arrow,
.sch-sale-card__arrow:focus-visible {
	opacity: 1;
}

.sch-sale-card__arrow:hover {
	background: rgba(179, 41, 56, 0.92);
}

.sch-sale-card__arrow:active {
	transform: translateY(-50%) scale(0.96);
}

.sch-sale-card__photo-count {
	position: absolute;
	right: 14px;
	bottom: 14px;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 35px;
	padding: 0 12px;
	border: 1px solid rgba(255, 255, 255, 0.46);
	border-radius: 999px;
	background: rgba(27, 23, 19, 0.7);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
	color: #fff;
	font: 600 13px/1 "Open Sans", sans-serif;
	cursor: zoom-in;
	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
}

.sch-sale-card__photo-count svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

.sch-sale-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 24px 21px 21px;
}

.sch-sale-card__brand {
	margin: 0 0 8px;
	color: #b32938;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.095em;
	text-transform: uppercase;
}

.sch-sale-card__title {
	margin: 0 0 15px;
	color: #1f1b17;
	font-family: "Open Sans", sans-serif;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.18;
	letter-spacing: -0.01em;
	text-align: left;
}

.sch-sale-card__facts {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: #5f5851;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.45;
}

.sch-sale-card__facts li {
	position: relative;
	padding-left: 18px;
}

.sch-sale-card__facts li::before {
	position: absolute;
	top: 0.63em;
	left: 1px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #b32938;
	content: "";
	transform: translateY(-50%);
}

.sch-sale-card__footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-top: auto;
	padding-top: 24px;
}

.sch-sale-card__prices {
	min-width: 0;
}

.sch-sale-card__old-price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin: 0 0 5px;
	color: #746c64;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
}

.sch-sale-card__old-price del {
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(116, 108, 100, 0.85);
}

.sch-sale-card__new-price {
	color: #1f1b17;
	font-size: 29px;
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -0.025em;
	white-space: nowrap;
}

.sch-sale-card__btn {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	min-width: 156px;
	min-height: 46px;
	padding: 12px 20px;
	border: 1.5px solid #b32938;
	border-radius: 5px;
	background: #ffffff00;
	box-shadow: none;
	color: #b32938 !important;
	font-size: 17px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.035em;
	text-align: center;
	text-decoration: none !important;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.sch-sale-card__btn:hover,
.sch-sale-card__btn:focus-visible {
	border-color: #b32938;
	background: #b32938;
	color: #ffffff !important;
	text-decoration: none !important;
	transform: translateY(-1px);
}

.sch-sale-card__media-open:focus-visible,
.sch-sale-card__arrow:focus-visible,
.sch-sale-card__photo-count:focus-visible,
.sch-sale-card__btn:focus-visible,
.sch-sale-modal button:focus-visible {
	outline: 3px solid rgba(255, 255, 255, 0.95);
	outline-offset: 3px;
}

.sch-sale-card__btn:focus-visible {
	outline-color: rgba(179, 41, 56, 0.35);
}

/* ==========================================================================
   Lightbox der Sale Cards
   ========================================================================== */

.sch-sale-modal[hidden] {
	display: none;
}

.sch-sale-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(19, 16, 13, 0.92);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.22s ease, visibility 0.22s ease;
}

.sch-sale-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.sch-sale-modal__dialog {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	width: min(100%, 1500px);
	height: min(100%, 960px);
}

.sch-sale-modal__topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 62px;
	padding: 0 4px 12px;
	color: #fff;
}

.sch-sale-modal__title {
	font: 600 18px/1.3 "Open Sans", sans-serif;
}

.sch-sale-modal__counter {
	margin-top: 3px;
	color: rgba(255, 255, 255, 0.7);
	font: 400 13px/1.3 "Open Sans", sans-serif;
}

.sch-sale-modal__close,
.sch-sale-modal__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.26);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	cursor: pointer;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.sch-sale-modal__close:hover,
.sch-sale-modal__arrow:hover {
	background: rgba(179, 41, 56, 0.92);
}

.sch-sale-modal__close {
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	font: 300 29px/1 Arial, sans-serif;
}

.sch-sale-modal__stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 0;
}

.sch-sale-modal__image {
	display: block;
	max-width: calc(100% - 148px);
	max-height: 100%;
	width: auto;
	height: auto;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.34);
	object-fit: contain;
}

.sch-sale-modal__arrow {
	position: absolute;
	top: 50%;
	width: 54px;
	height: 54px;
	padding-bottom: 4px;
	font: 400 36px/1 Arial, sans-serif;
	transform: translateY(-50%);
}

.sch-sale-modal__arrow[hidden] {
	display: none;
}

.sch-sale-modal__arrow:hover {
	transform: translateY(-50%) scale(1.04);
}

.sch-sale-modal__arrow--prev {
	left: 10px;
}

.sch-sale-modal__arrow--next {
	right: 10px;
}

body.sch-sale-modal-open {
	overflow: hidden;
}

@media (max-width: 1024px) {
	.sch-sale-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px;
	}

	.sch-sale-card__arrow {
		opacity: 0.88;
	}
}

@media (max-width: 767px) {
	.sch-sale-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.sch-sale-card {
		border-radius: 22px;
	}

	.sch-sale-card__content {
		padding: 20px 16px 18px;
	}

	.sch-sale-card__badge {
		top: 13px;
		left: 13px;
		min-height: 40px;
		padding: 0 15px;
		border-radius: 15px;
		font-size: 17px;
	}

	.sch-sale-card__arrow {
		width: 42px;
		height: 42px;
		opacity: 0.92;
	}

	.sch-sale-card__arrow--prev {
		left: 9px;
	}

	.sch-sale-card__arrow--next {
		right: 9px;
	}

	.sch-sale-card__photo-count {
		right: 11px;
		bottom: 11px;
	}

	.sch-sale-card__title {
		margin-bottom: 12px;
		font-size: 25px;
	}

	.sch-sale-card__facts {
		font-size: 15px;
	}

	.sch-sale-card__footer {
		flex-direction: column;
		align-items: stretch;
		gap: 15px;
		padding-top: 20px;
	}

	.sch-sale-card__new-price {
		font-size: 28px;
	}

	.sch-sale-card__btn {
		width: 100%;
		min-height: 48px;
	}

	.sch-sale-modal {
		padding: 12px;
	}

	.sch-sale-modal__dialog {
		height: 100%;
	}

	.sch-sale-modal__topbar {
		min-height: 58px;
		padding: 0 2px 10px;
	}

	.sch-sale-modal__title {
		font-size: 16px;
	}

	.sch-sale-modal__close {
		width: 44px;
		height: 44px;
	}

	.sch-sale-modal__image {
		max-width: 100%;
		max-height: calc(100% - 8px);
		border-radius: 10px;
	}

	.sch-sale-modal__arrow {
		top: auto;
		bottom: 14px;
		width: 48px;
		height: 48px;
		background: rgba(27, 23, 19, 0.68);
		transform: none;
	}

	.sch-sale-modal__arrow:hover {
		transform: none;
	}

	.sch-sale-modal__arrow--prev {
		left: 14px;
	}

	.sch-sale-modal__arrow--next {
		right: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sch-sale-card,
	.sch-sale-card__image,
	.sch-sale-card__arrow,
	.sch-sale-card__btn,
	.sch-sale-modal,
	.sch-sale-modal__close,
	.sch-sale-modal__arrow {
		transition: none;
	}
}



/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/



/* ==========================================================================
   Schieder Sale Detail – Gallery Badge + Custom Lightbox
   ========================================================================== */

/* ===== Detail-Galerie Wrapper ===== */
.sch-sale-gallery-wrap {
	position: relative;
}

/* ===== Rabatt-Badge auf dem Karussell ===== */
.sch-sale-gallery-wrap .sch-sale-badge {
	position: absolute;
	top: 38px;
	left: 48px;
	z-index: 30;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 20px;
	border-radius: 19px;
	background: #b32938;
	color: #ffffff;
	font-family: "Open Sans", sans-serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.015em;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.10);
	pointer-events: none;
}

.sch-sale-gallery-wrap .sch-sale-badge p,
.sch-sale-gallery-wrap .sch-sale-badge span,
.sch-sale-gallery-wrap .sch-sale-badge div,
.sch-sale-gallery-wrap .sch-sale-badge .elementor-heading-title {
	margin: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	line-height: inherit;
}

/* ===== Klick-Hinweis auf Bilder ===== */
.sch-sale-gallery-wrap .sch-sale-gallery a,
.sch-sale-gallery-wrap .sch-sale-gallery img {
	cursor: zoom-in;
}

/* ===== Eigene Lightbox ===== */
.sch-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 32px;
	background: rgba(20, 16, 12, 0.88);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.sch-lightbox.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.sch-lightbox__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.sch-lightbox__img {
	display: block;
	max-width: min(92vw, 1440px);
	max-height: 88vh;
	width: auto;
	height: auto;
	border-radius: 18px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.32);
	background: #ffffff;
}

.sch-lightbox__close,
.sch-lightbox__prev,
.sch-lightbox__next {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	cursor: pointer;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: background 0.2s ease, transform 0.2s ease;
}

.sch-lightbox__close:hover,
.sch-lightbox__prev:hover,
.sch-lightbox__next:hover {
	background: rgba(255, 255, 255, 0.22);
	transform: translateY(-1px);
}

.sch-lightbox__close {
	top: 18px;
	right: 18px;
	width: 52px;
	height: 52px;
	border-radius: 999px;
	font-size: 30px;
	line-height: 1;
}

.sch-lightbox__prev,
.sch-lightbox__next {
	top: 50%;
	transform: translateY(-50%);
	width: 58px;
	height: 58px;
	border-radius: 999px;
	font-size: 34px;
	line-height: 1;
}

.sch-lightbox__prev {
	left: 18px;
}

.sch-lightbox__next {
	right: 18px;
}

body.sch-lightbox-open {
	overflow: hidden;
}

@media (max-width: 767px) {
	.sch-sale-gallery-wrap .sch-sale-badge {
		top: 14px;
		left: 14px;
		min-height: 42px;
		padding: 0 16px;
		font-size: 18px;
		border-radius: 16px;
	}

	.sch-lightbox {
		padding: 18px;
	}

	.sch-lightbox__img {
		max-width: 100%;
		max-height: 82vh;
		border-radius: 14px;
	}

	.sch-lightbox__close {
		top: 10px;
		right: 10px;
		width: 46px;
		height: 46px;
		font-size: 26px;
	}

	.sch-lightbox__prev,
	.sch-lightbox__next {
		width: 48px;
		height: 48px;
		font-size: 28px;
	}

	.sch-lightbox__prev {
		left: 8px;
	}

	.sch-lightbox__next {
		right: 8px;
	}
}


/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/


/* ==========================================================
   HEADER – Zusatzblock im mobilen Menü
   ========================================================== */

:root{
  --nav-indent:19px;   /* bei Bedarf hier justieren */
}

@media (min-width:1025px){
  li.nav-extra{ display:none !important; }
}

@media (max-width:1024px){

  li.nav-extra > a::after{ content:none !important; display:none !important; }

  li.nav-extra > a{
    text-decoration:none !important;
  }

  /* --- Überschriften --- */
  li.nav-titel{
    display:block !important;
    width:100%;
    flex-basis:100%;
    margin-top:26px;
    padding-top:20px;
    border-top:1px solid rgba(0,0,0,.10);
  }

  li.nav-titel > a{
    pointer-events:none;
    display:block !important;
    font-size:12px !important;
    font-weight:600 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase;
    color:#8A8580 !important;
    padding-top:0 !important;
    padding-bottom:4px !important;
  }

  /* --- Standortname --- */
    li.nav-ort{
    display:block !important;
    width:100%;
    flex-basis:100%;
    margin-top:26px;
  }

  li.nav-titel + li.nav-ort{ margin-top:16px; }

  li.nav-ort > a{
    pointer-events:none;
    display:block !important;
    font-size:18px !important;
    font-weight:600 !important;
    line-height:1.25 !important;
    color:#1D1D1B !important;
    padding-top:0 !important;
    padding-bottom:10px !important;
  }

  /* --- Pills --- */
  li.nav-pill{
    display:inline-block !important;
    width:auto;
    flex-basis:auto;
    margin:0 8px 0 0;
    vertical-align:top;
  }

  li.nav-ort + li.nav-pill{ margin-left:var(--nav-indent); }

  li.nav-pill > a{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    height:40px;
    padding:0 16px !important;
    border-radius:999px;
    font-size:13px !important;
    font-weight:400 !important;
    line-height:1 !important;
    white-space:nowrap;
  }

  li.nav-pill--info > a{
    border:1px solid rgba(189,28,52,.30);
    color:#BD1C34 !important;
    background:transparent;
  }

  li.nav-pill--tel > a{
    background:#BD1C34;
    color:#ffffff !important;
  }

  /* --- Social Icons --- */
    li.nav-social{
    display:inline-block !important;
    width:auto;
    flex-basis:auto;
    margin:10px 10px 0 0;
    vertical-align:top;
  }

  li.nav-titel + li.nav-social{ margin-left:var(--nav-indent); }

  li.nav-social > a{
    display:block !important;
    width:42px;
    height:42px;
    padding:0 !important;
    border:1px solid rgba(189,28,52,.30);
    border-radius:50%;
    font-size:0 !important;
    line-height:0 !important;
    color:transparent !important;
    background-repeat:no-repeat;
    background-position:center;
    background-size:19px 19px;
  }

  li.nav-social--fb > a{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23BD1C34'%3E%3Cpath d='M13.5 21v-8h2.7l.4-3.1h-3.1V7.9c0-.9.3-1.5 1.6-1.5h1.6V3.6c-.3 0-1.3-.1-2.4-.1-2.5 0-4.1 1.5-4.1 4.2v2.2H7.4V13h2.8v8h3.3z'/%3E%3C/svg%3E");
  }

  li.nav-social--ig > a{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23BD1C34' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.2' cy='6.8' r='1.1' fill='%23BD1C34' stroke='none'/%3E%3C/svg%3E");
  }

  li.nav-social--li > a{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23BD1C34'%3E%3Cpath d='M6.2 21H3V9h3.2v12zM4.6 7.6c-1 0-1.8-.8-1.8-1.8S3.6 4 4.6 4s1.8.8 1.8 1.8-.8 1.8-1.8 1.8zM21 21h-3.2v-5.8c0-1.4 0-3.2-1.9-3.2s-2.2 1.5-2.2 3.1V21h-3.2V9h3v1.6h.1c.4-.8 1.5-1.6 3-1.6 3.2 0 3.8 2.1 3.8 4.9V21z'/%3E%3C/svg%3E");
  }
}


@media (max-width:1024px){

  .elementor-menu-toggle,
  [class*="close"],
  [aria-label*="lose"],
  [aria-label*="chließ"]{
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#1D1D1B !important;
  }
}
