/*
Theme Name:     Divi Child
Theme URI:      http://www.elegantthemes.com
Description:    Divi Child
Template:       Divi
Version:        1.0.0
Projekt:		Hermannshöhe
Webdesign:		Corgi Media
*/

/* ============ COLORS ============ */
:root {
	--red: #b33341;
	--white: #fae8cd;
	--black: #161616;
	--darkgrey: #2a2a2a;
	--grey: #a0a0a0;
	--font: 'Source Sans 3',Helvetica,Arial,Lucida,sans-serif;
	--fontHighlight: 'Cinzel',Helvetica,Arial,Lucida,sans-serif;
}

/* ============ GENERAL ============ */
body {
	hyphens: none;
	white-space: word-wrap;
	background:var(--darkgrey);
}

.et_pb_text {
	word-wrap: normal;
}

.et_pb_text strong,
.et_pb_text b {
	font-weight: 500;
}

.et_pb_scroll_top.et-pb-icon {
	background: rgba(0, 0, 0, 0.4);
	text-decoration: none;
	-webkit-border-top-left-radius: 0;
	-webkit-border-bottom-left-radius: 0;
	-moz-border-radius-topleft: 0;
	-moz-border-radius-bottomleft: 0;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}


/* ============ LISTS ============ */
.et_pb_text ul.check-list {
	list-style-type: none;
	margin-left: 0;
	padding-left: 0;
	margin-top: 1rem;
	padding-bottom:0;
}

.et_pb_text ul.check-list li {
	margin-bottom: 1rem;
	position: relative;
	padding-left: 2rem;
}

.et_pb_text ul.check-list li:last-child{
	margin-bottom: 0;
}

.et_pb_text ul.check-list li:before {
	content: '';
	display: inline-block;
	margin-left: -2rem;
	margin-right: .5rem;
	font-size: 1.3rem;
	display: inline-block;
	position: absolute;
	top: 0;
	background: url('img/check.svg') no-repeat;
	width: 25px;
	height: 25px;
	background-size: contain;
}

.et_pb_text ul.cross li:before {
	background: url('img/cross.svg') no-repeat;
	width: 20px;
	height: 20px;
	margin-top: 2px;
}

.numbered-list {
	list-style: none;
	list-style-type: none;
	counter-reset: my-counter;
	padding: 0;
	margin: 1rem 0 0 -1rem;
}

.numbered-list li {
	counter-increment: my-counter;
	position: relative;
	list-style: none;
	padding-left: 1.2em;
	margin-bottom: 20px;
}

.numbered-list li::before {
	content: counter(my-counter) ".";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--blue);
	font-weight: 500;
}

/* ============ HEADER ============ */
.top-menu {
	height: 100%;
	display: flex;
	align-content: center;
	justify-content: flex-end;
}

.top-menu .et_pb_text_inner {
	display: flex;
	gap: 2px;
	align-content: center;
	flex-direction: column;
	margin: auto 0;
}

.top-menu .et_pb_text_inner .et-pb-icon {
	font-size: 16px;
}

.et_pb_menu .et-menu {
	display: flex !important;
	justify-content: space-between !important;
}

.et_pb_menu__menu,
.et-menu-nav,
.et_pb_menu .et-menu {
	width: 100%;
}

.nav li li {
	padding: 0;
	margin: 0;
}

.nav li ul {
	width: 330px;
}

.et-menu li li a {
	padding: 6px 20px;
	width: 100%;
}

.et_mobile_menu li a:hover,
.nav ul li a:hover {
	background-color: transparent;
	opacity: .7;
}

.et-menu li li.current-menu-item a::after {
	display: none;
}

.custom-nav.et_pb_menu.et_flex_module .et_pb_menu__wrap {
  flex: unset;
  align-self: center;
  width: 100%;
}

.et_pb_menu .et-menu {
  justify-content: flex-end !important;
}

.et_pb_menu .et-menu > li {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}


.et_pb_menu__menu > nav > ul > li.nav-btn{
	padding-right:0;
}

.et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li > a {
  padding: 15px 0!important;
}

.et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li.nav-btn a{
	background:var(--red);
	color:var(--white)!important;
	padding: 15px!important;
}

.et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li.nav-btn a:hover{
	background:var(--white);
	color:var(--red)!important;
	opacity:1;
}

.et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li a:hover{
	color:var(--red)!important;
	opacity:1;
}

.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item > a, 
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-ancestor > a, 
.et_pb_menu_0_tb_header.et_pb_menu ul:not(.sub-menu) > li.current-menu-ancestor > a {
  color:var(--red)!important;
}



@media(max-width:1590px){
.et_pb_menu .et-menu > li {
  padding-left: 1rem;
  padding-right: 1rem;
}
}

@media(max-width:1455px){
.et_pb_menu .et-menu > li {
  padding-left: .5rem;
  padding-right: .5rem;
}
}

@media(max-width:1320px){
	.et_pb_menu_0_tb_header.et_pb_menu ul li a,
.et_pb_sticky .et_pb_menu_0_tb_header.et_pb_menu ul li a {
  font-size: 15px!important;
}
}

@media(max-width:1170px) and (min-width:980px){
	.et_pb_menu_0_tb_header.et_pb_menu ul li a,
.et_pb_sticky .et_pb_menu_0_tb_header.et_pb_menu ul li a {
  font-size: 14px!important;
}
.et_pb_menu .et-menu > li {
  padding-left: .3rem;
  padding-right: .3rem;
}
.et_pb_section_0_tb_header .et_pb_row_0_tb_header {
  width: 98% !important;
}
.et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li.nav-btn a {
  padding: 10px !important;
}
}

@media (max-width: 980px) {
  .et_pb_menu .et_mobile_menu, .et_pb_menu .et_mobile_menu ul {
    margin-top: 12px;
	padding: 10px;
  }
    .et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu a {
    padding: 0 10px;
  }
  .menu-item {
  padding: 3px 0;
}
}

.teaser-row .et_pb_blurb_container {
  padding: 0 1.5rem 0 1.5rem!important;
}

.teaser-row .et_pb_button_module_wrapper{
  margin: 0 auto 1.5rem auto!important;
}

/* ============ TIMELINE ============ */
.timeline{
  position:relative;
  overflow:hidden;
}

.tl-track{position:relative;max-width:1000px;margin:0 auto;padding:0 24px}
.tl-track::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:rgba(179,51,65,.15);transform:translateX(-50%);border-radius:3px;z-index:0}
.tl-progress{position:absolute;left:50%;top:0;width:3px;height:0;background:var(--red);transform:translateX(-50%);z-index:1}

.tl-entry{
  position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;
  margin-bottom:56px;align-items:center;
  opacity:0;transform:translateY(55px);
  transition:opacity .75s ease,transform .75s ease;z-index:2;
}
.tl-entry.visible{opacity:1;transform:translateY(0)}
.tl-entry:last-child{margin-bottom:0}
.tl-entry .tl-content{padding:0 40px;transition:opacity .75s ease .15s}
.tl-entry:nth-child(odd) .tl-content{grid-column:1;text-align:right}
.tl-entry:nth-child(even) .tl-content{grid-column:2;text-align:left}
.tl-entry .tl-spacer{display:none}
.tl-entry:nth-child(odd) .tl-spacer{display:block;grid-column:2}
.tl-entry:nth-child(even) .tl-spacer{display:block;grid-column:1}

.tl-entry::before{
  content:"";position:absolute;left:50%;top:50%;
  width:18px;height:18px;background:var(--darkgrey);
  transform:translate(-50%,-50%) scale(0);z-index:3;
  border:3px solid var(--red);border-radius:0;
  opacity:0;
  transition:opacity .5s ease .25s,transform .5s cubic-bezier(.34,1.56,.64,1) .25s,background .4s ease .5s;
}
.tl-entry.visible::before{opacity:1;transform:translate(-50%,-50%) scale(1);background:var(--red)}

.tl-entry .tl-year{font-family:var(--fontHighlight);font-weight:600;font-size:34px;color:var(--red);line-height:1;margin-bottom:8px}
.tl-entry .tl-title{font-family:var(--font);font-weight:400;font-size:16px;color:var(--white);margin-bottom:10px;line-height:1.2em;text-transform: uppercase;letter-spacing: 2px;}
.tl-entry .tl-desc{font-family:var(--font);font-weight:300;font-size:18px;line-height:1.65em;color:var(--white);}
.tl-entry .tl-desc strong{font-weight:500;}

@media(max-width:768px){
  .tl-track::before{left:20px}
  .tl-progress{left:20px}
  .tl-entry{grid-template-columns:1fr;gap:0}
  .tl-entry .tl-content,
  .tl-entry:nth-child(odd) .tl-content,
  .tl-entry:nth-child(even) .tl-content{grid-column:1;text-align:left;padding:0 0 0 48px}
  .tl-entry .tl-spacer{display:none}
  .tl-entry::before{left:20px;top:8px;transform:translate(-50%,0) scale(0)}
  .tl-entry.visible::before{transform:translate(-50%,0) scale(1)}
}
@media(prefers-reduced-motion:reduce){
  .tl-entry{opacity:1;transform:none;transition:none}
  .tl-entry::before{opacity:1;transform:translate(-50%,-50%) scale(1)}
}

/* ============ CAFE ============ */
.price-tag strong{font-family:var(--fontHighlight);font-weight:600;font-size:40px;color:var(--red);line-height:1;margin-bottom:8px}
.price-tag em{font-family:var(--font);font-weight:400;font-size:16px;color:var(--white);margin-bottom:10px;line-height:1.2em;text-transform: uppercase;letter-spacing: 2px;font-style:normal;}

.et_pb_gallery_image a:hover span{
	border:0!important;
}

.speise-list{list-style:none!important;padding-left:0!important;margin-left:0!important;}
.speise-list li{padding-left:0;margin-bottom:.8rem;}
.speise-list li strong{font-weight:300;font-size:20px;}
.speise-list li span{font-style:normal;color:var(--grey);font-size:14px;margin-top:0;}

  .acc{overflow:hidden}
  .acc-head{width:100%;background:transparent;padding:15px 4px;display:flex;justify-content:space-between;align-items:center;font-family:var(--fontHighlight);font-size:20px;color:var(--white);cursor:pointer;transition:color .3s,text-indent .3s;border: 0;}
  .acc-head:hover{color:var(--red)}
  .acc-head .acc-title{flex:1;text-align:left}
  .acc-icon{color:var(--red);font-size:28px;font-weight:300;transition:transform .4s ease;line-height:1;flex-shrink:0;margin-left:16px}
  .acc-body{max-height:0;overflow:hidden;transition:max-height .5s ease}
  .acc.open .acc-body{max-height:99999px;background:var(--darkgrey);padding:15px;}
  .acc.open .acc-icon{transform:rotate(45deg)}
  .acc-inner{padding:0 4px 28px}
  .acc-sub{font-family:var(--fontHighlight);font-weight:500;font-size:18px;color:var(--red);margin:24px 0 8px;padding-bottom:4px;border-bottom:0;}
  .acc-sub:first-child{margin-top:0}
  .acc-note{font-weight:300;font-size:14px;color:var(--grey);font-style:normal;line-height:1.6em;margin-top:8px}
  .menu-item{display:flex;justify-content:space-between;gap:16px;padding:7px 0;align-items:baseline;border:0;}
  .menu-item:last-child{border-bottom:0}
  .menu-item .name{font-family:var(--font);font-weight:300;font-size:16px;color:var(--white);flex:1}
  .menu-item .name .qty{font-weight:300;font-size:14px;color:var(--grey);margin-left:6px}
  .menu-item .name .desc{font-style:normal;color:var(--grey);font-size:14px;font-weight:300;display:block;margin-top:1px}
  .menu-item .price{font-family:var(--font);font-weight:300;font-size:15px;color:var(--white);white-space:nowrap}
  .menu-item-dual{display:grid;grid-template-columns:1fr auto auto;gap:6px 20px;padding:7px 0;border:0;align-items:baseline}
  .menu-item-dual:last-child{border-bottom:0}
  .menu-item-dual .name{font-family:var(--font);font-weight:300;font-size:16px;color:var(--white)}
  .menu-item-dual .pa,.menu-item-dual .pb{font-family:var(--font);font-weight:300;font-size:14px;color:var(--white);white-space:nowrap;text-align:right;}
  .dual-hdr{display:grid;grid-template-columns:1fr auto auto;gap:6px 20px;padding:6px 0;border:0;;margin-bottom:4px}
  .dual-hdr .name{visibility:hidden}
  .dual-hdr .pa,.dual-hdr .pb{font-weight:300;font-size:14px;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.45);text-align:right}
  sup.a{font-size:10px;color:var(--grey);font-weight:300;line-height:0;letter-spacing:.5px;vertical-align:super}
  .wine-note{font-weight:300;font-size:13px;color:rgba(255,255,255,.5);margin-top:4px;padding-left:2px}

/* ============ GUTSCHEIN ============ */
.checkout-wizard{
	max-width: 640px;
	margin: auto;
}
.checkout-wizard .hp-field{
  position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;
}
.checkout-progress{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:40px;flex-wrap:wrap}
.cstep{display:flex;align-items:center;gap:8px;font-family:var(--font);font-size:13px;font-weight:400;letter-spacing:1px;text-transform:uppercase;color:var(--grey);transition:color .3s ease}
.cstep .dot{width:32px;height:32px;border:1px solid var(--grey);display:inline-flex;align-items:center;justify-content:center;font-family:var(--fontHighlight);font-weight:500;font-size:15px;transition:all .3s ease;flex-shrink:0}
.cstep.active{color:var(--white)}
.cstep.active .dot{background:var(--red);border-color:var(--red);color:var(--white)}
.cstep.done{color:var(--grey);cursor:pointer}
.cstep.done:hover{color:var(--red)}
.cstep.done .dot{background:var(--black);border-color:var(--red);color:var(--red)}
.cstep.done:hover .dot{background:var(--red);color:var(--white)}
.cstep-arrow{color:var(--grey);font-size:18px;margin:0 8px}
.checkout-panel{display:none}
.checkout-panel.active{display:block;animation:gutFadeUp .35s ease}
@keyframes gutFadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.voucher-choices{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vchoice{
  background:var(--black);border:1px solid transparent;;
  padding:36px 28px;cursor:pointer;transition:border-color .3s ease,transform .2s ease;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.vchoice:hover{transform:translateY(-3px)}
.vchoice.selected{border:1px solid var(--red)}
.vchoice h3{font-family:var(--fontHighlight);font-weight:500;font-size:24px;margin-bottom:8px;color:var(--white)}
.vchoice .price-tag{font-family:var(--fontHighlight);font-weight:600;font-size:26px;color:var(--red)}

.amount-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:640px;margin:0 auto}
.amount-grid.single{grid-template-columns:1fr;max-width:220px}
.amount-btn{
  font-family:var(--fontHighlight);font-weight:500;font-size:22px;color:var(--white);
  background:var(--black);border:1px solid var(--grey);padding:24px 0;cursor:pointer;
  transition:all .2s ease;text-align:center;
}
.amount-btn:hover{border-color:var(--red);color:var(--red)}
.amount-btn.selected{background:var(--red);border-color:var(--red);color:var(--white)}
.amount-btn .cur{font-size:20px;font-family:var(--font);font-weight:400;margin-left:2px}
.amount-disclaimer{text-align:center;margin-top:18px;font-family:var(--font);font-weight:300;font-size:14px;color:var(--grey);font-style: normal;}

.checkout-form{max-width:100%;margin:0 auto}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.form-field label{font-family:var(--font);font-size:18px;font-weight:300;color:var(--white)}
.form-field label .req{color:var(--red)}
.form-field label .opt{color:var(--grey);font-weight:300}
.form-field input,.form-field textarea{
  font-family:var(--font);font-size:16px;color:var(--white);
  background:var(--black);padding:12px 14px;border:1px solid var(--darkgrey);
  transition:border-color .2s ease;
}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--red)}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--grey)}
.form-field textarea{resize:vertical;min-height:70px}
.form-field.error input,.form-field.error textarea{border-color:var(--red)}
.form-field .err-msg{font-size:14px;color:var(--red);display:none}
.form-field.error .err-msg{display:block}

.checkbox-field{display:flex;align-items:flex-start;gap:10px;margin:20px 0}
.checkbox-field input[type=checkbox]{width:18px;height:18px;accent-color:var(--red);margin-top:3px;flex-shrink:0;cursor:pointer}
.checkbox-field label{font-family:var(--font);font-size:18px;font-weight:300;line-height:1.6em;color:var(--white);cursor:pointer}
.checkbox-field label a{color:var(--white);text-decoration:underline}
.checkbox-field.error label{color:var(--red)}

input.text:focus, input.title:focus, input[type="text"]:focus, select:focus, textarea:focus {
  color:var(--grey);
}

.checkout-nav{display:flex;justify-content:space-between;align-items:center;margin-top:32px;max-width:100%;margin-left:auto;margin-right:auto}
.btn-back{
  font-family:var(--font);font-weight:400;font-size:15px;text-transform:uppercase;letter-spacing:1px;
  background:transparent;color:var(--white) !important;border:1px solid var(--white) ;
  padding:.75em 1.8em;cursor:pointer;transition:all .3s ease;
}
.btn-back:hover{color:var(--white) !important;border-color:var(--white)}
.btn-next{
  font-family:var(--font);font-weight:400;font-size:15px;text-transform:uppercase;letter-spacing:1px;
  background:var(--red);color:var(--white) !important;border:1px solid var(--red);
  padding:.75em 1.8em;cursor:pointer;min-width:200px;text-align:center;
  transition:background .3s ease,color .3s ease,border-color .3s ease;
}
.btn-next:hover{background:var(--white);color:var(--red) !important;border-color:var(--white)}
.btn-next:disabled{opacity:.6;cursor:wait}

.confirm-box{text-align:center;max-width:640px;margin:0 auto}
.confirm-icon{width:64px;height:64px;background:var(--red);color:var(--white);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:20px}
.confirm-box h3{font-family:var(--fontHighlight);font-weight:500;font-size:28px;margin-bottom:12px;color:var(--white)}
.confirm-sub{font-family:var(--font);font-weight:300;font-size:16px;color:var(--white);margin-bottom:24px}
.confirm-summary{background:var(--black);border-bottom:1px solid var(--red);padding:24px;text-align:left;margin-bottom:24px}
.confirm-summary .srow{display:flex;justify-content:space-between;padding:6px 0;font-family:var(--font);font-size:18px;}
.confirm-summary .srow:last-child{border-bottom:0}
.confirm-summary .srow .k{color:var(--white);font-weight:300}
.confirm-summary .srow .v{color:var(--white);font-weight:500}
.confirm-info{list-style:none;padding:0;margin:0;text-align:left}
.confirm-info {font-family:var(--font);font-weight:300;font-size:16px;line-height:1.7em;color:var(--white);padding:10px 0;padding-left:28px;position:relative;}
.confirm-info .accent{color:var(--red)}

@media(max-width:980px){
  .voucher-choices{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:640px){
  .amount-grid{grid-template-columns:repeat(3,1fr)}
  .cstep{font-size:11px}
  .cstep .dot{width:26px;height:26px;font-size:13px;display:none;}
  .cstep-arrow{margin:0 4px}
  .checkout-nav{flex-direction:column-reverse;gap:12px}
  .btn-next{width:100%}
  .btn-back{width:100%;text-align:center}
}

/* ================================================================
   ANFRAGE & RESERVIERUNG — Multi-Step Wizard
   ================================================================ */
#anfrageWizard.checkout-wizard{max-width:920px}

.form-field select{
  font-family:var(--font);font-size:16px;color:var(--white);
  background:var(--black);padding:12px 36px 12px 14px;border:1px solid var(--darkgrey);
  transition:border-color .2s ease;cursor:pointer;
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23b33341' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
}
.form-field select:focus{outline:none;border-color:var(--red)}
.form-field select option{background:var(--black);color:var(--white)}
.form-field.error select{border-color:var(--red)}

/* Hinweistext unter Formularfeldern */
.form-hint{
  font-family:var(--font);font-weight:300;font-size:14px;line-height:1.5em;
  color:var(--white);margin:-6px 0 16px;
}

/* ===== AUSWAHLKARTEN (Step 1) ===== */
.rchoice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rchoice{
  background:var(--black);border:1px solid transparent;
  padding:32px 28px;cursor:pointer;
  transition:border-color .3s ease,transform .2s ease;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.rchoice:hover{transform:translateY(-3px)}
.rchoice.selected{border:1px solid var(--red)}
.rchoice h3{
  font-family:var(--fontHighlight);font-weight:500;font-size:22px;
  margin-bottom:10px;color:var(--white);
}
.rchoice .rdesc{
  font-family:var(--font);font-weight:300;font-size:16px;line-height:1.3em;color:var(--grey);
}

/* Feier-Typ Auswahl (Pills) */
.feier-types{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px}
.feier-type{
  font-family:var(--font);font-weight:400;font-size:15px;letter-spacing:1px;
  text-transform:uppercase;color:var(--white);
  background:var(--black);border:1px solid var(--darkgrey);
  padding:12px 24px;cursor:pointer;transition:all .2s ease;
}
.feier-type:hover{border-color:var(--red);color:var(--red)}
.feier-type.selected{background:var(--red);border-color:var(--red);color:var(--white)}
.feier-andere-field{max-width:360px;margin:20px auto 0;display:none}
.feier-andere-field.show{display:block}

/* ===== ABSCHNITTS-UEBERSCHRIFTEN IN PANELS ===== */
.panel-subhead{
  font-family:var(--fontHighlight);font-weight:500;font-size:20px;
  color:var(--white);margin:32px 0 14px;padding-bottom:8px;
  border-bottom:1px solid var(--darkgrey);
}
.panel-subhead:first-child{margin-top:0}
.panel-subhead .ms-count-hint{
  font-family:var(--font);font-weight:300;font-size:13px;
  color:var(--grey);text-transform:none;letter-spacing:0;margin-left:8px;
}
.panel-note{
  font-family:var(--font);font-weight:300;font-size:18px;line-height:1.7em;
  color:var(--white);margin-bottom:14px;
}
.panel-note strong{font-weight:500;color:var(--white)}

/* ===== MULTI-SELECT OPTIONEN ===== */
.ms-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ms-option{
  display:flex;align-items:flex-start;gap:10px;
  font-family:var(--font);font-weight:300;font-size:16px;color:var(--white);
  background:var(--black);border:1px solid var(--darkgrey);
  padding:12px 16px;cursor:pointer;transition:border-color .2s ease,background .2s ease;
}
.ms-option:hover{border-color:var(--red)}
.ms-option.selected{border-color:var(--red);background:rgba(179,51,65,.08)}
.ms-option input[type=checkbox]{
  width:18px;height:18px;accent-color:var(--red);margin-top:3px;flex-shrink:0;cursor:pointer;
}
.ms-option .ms-label{flex:1}
.ms-option .ms-desc{
  display:block;font-size:16px;color:var(--grey);margin-top:3px;line-height:1.5em;
}
.ms-divider{
  grid-column:1/-1;border:0;border-top:1px dashed var(--darkgrey);margin:6px 0;
}
.ms-divider-label{
  grid-column:1/-1;font-family:var(--font);font-weight:400;font-size:13px;
  letter-spacing:1px;text-transform:uppercase;color:var(--grey);margin-top:8px;
}

/* ===== PERSONENANZAHL ===== */
.persons-field{max-width:240px}
.persons-field label{
  font-family:var(--fontHighlight);font-weight:500;font-size:20px;color:var(--white);
}
.speisen-intro{margin-bottom:40px}

/* ===== FOOD CATEGORY KARTEN (Vorauswahl-Step) ===== */
.food-cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:8px}
.food-cat-card{
  background:var(--black);border:1px solid transparent;
  padding:32px 24px;cursor:pointer;
  transition:border-color .3s ease,transform .2s ease;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.food-cat-card:hover{transform:translateY(-3px)}
.food-cat-card.selected{border:1px solid var(--red)}
.food-cat-card h3{
  font-family:var(--fontHighlight);font-weight:500;font-size:20px;
  margin-bottom:6px;color:var(--white);
}
.food-cat-card .cat-hint{
  font-family:var(--font);font-weight:300;font-size:16px;color:var(--grey);line-height:1.4em;
}
.food-cat-content{display:none}
.food-cat-content.active{display:block}

/* ===== DATUM WARNUNG ===== */
.date-warning{
  display:none;font-family:var(--font);font-weight:400;font-size:16px;
  color:var(--white);background:var(--red);border:1px solid var(--red);
  padding:12px 16px;margin-top:8px;line-height:1.5em;
  margin-bottom: 1rem;
  text-align: center;
}
.date-warning.show{display:block;animation:gutFadeUp .25s ease}

/* ===== INFO / DOWNLOAD PANEL ===== */
.info-panel{text-align:center;max-width:580px;margin:0 auto;padding:20px 0}
.info-panel .info-text{
  font-family:var(--font);font-weight:300;font-size:17px;line-height:1.7em;
  color:var(--white);margin-bottom:18px;
}
.info-panel .info-text strong{font-weight:500;color:var(--white)}
.info-panel .info-text a{color:var(--red);text-decoration:underline}
.download-btn{
  display:inline-block;
  font-family:var(--font);font-weight:400;font-size:15px;text-transform:uppercase;letter-spacing:1px;
  background:var(--red);color:var(--white) !important;border:1px solid var(--red);
  padding:.75em 1.8em;cursor:pointer;transition:all .3s ease;margin:0 0 24px;
  text-decoration:none;
}
.download-btn:hover{background:var(--white);color:var(--red) !important;border-color:var(--white)}
.info-mail-link{
  display:inline-block;
  font-family:var(--font);font-weight:400;font-size:16px;color:var(--red);
  text-decoration:underline;
}
.info-mail-link:hover{color:var(--white)}

/* ===== PREIS-INFO BLOCK (Extras) ===== */
.price-info-block{margin-top:32px}
.price-info-block .panel-note{margin-bottom:14px;font-size:18px;color:var(--white)}
.price-info-block .panel-note:last-child{margin-bottom:0}
.price-info-block .panel-note strong{color:var(--white);font-weight:500}

/* ===== BESTAETIGUNG (shared) ===== */
.anfrage-summary .srow .v{word-break:break-word}
.anfrage-summary .srow-multi{
  display:block;padding:6px 0;font-family:var(--font);font-size:14px;
  border-bottom:1px dotted rgba(255,255,255,.08);
}
.anfrage-summary .srow-multi:last-child{border-bottom:0}
.anfrage-summary .srow-multi .k{
  display:block;color:var(--grey);font-weight:300;font-size:14px;
  text-transform:uppercase;letter-spacing:1px;margin-bottom:2px;
}
.anfrage-summary .srow-multi .v{color:var(--white);font-weight:400;line-height:1.5em}

/* ===== RESPONSIVE ===== */
@media(max-width:980px){
  .rchoice-grid{grid-template-columns:1fr}
  .ms-grid{grid-template-columns:1fr}
  .food-cat-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .feier-types{gap:8px}
  .feier-type{padding:10px 16px;font-size:13px}
}


/* ================================================================
   EVENT-ANFRAGE — 6-Step Wizard
   ================================================================ */

/* Event-Typ Auswahl */
.ev-type-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px;
}
.ev-type{
  font-family:var(--font);font-weight:400;font-size:15px;color:var(--white);
  background:var(--black);border:1px solid var(--darkgrey);
  padding:18px 20px;cursor:pointer;transition:all .2s ease;text-align:center;
}
.ev-type:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px)}
.ev-type.selected{background:var(--red);border-color:var(--red);color:var(--white)}

/* Custom Event-Feld */
.ev-custom-wrap{margin:20px 0 0;display:none}
.ev-custom-wrap.show{display:block;animation:gutFadeUp .25s ease}
.ev-custom-wrap.error input{border-color:var(--red)}

/* Event Wizard breiter */
#eventWizard.checkout-wizard{max-width:920px}

/* Responsive Event */
@media(max-width:980px){
  .ev-type-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .ev-type-grid{grid-template-columns:1fr}
  .ev-type{padding:14px 16px;font-size:14px}
}

/* Sticky Menu Button */
.et_pb_sticky .et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li.nav-btn a{
  color:var(--white)!important;
}
