/* -----------------------------------
   WooCommerce / JupiterX
----------------------------------- */
.jupiterx-continue-shopping { float: left !important; }

.woocommerce div.product .raven-product-data-tabs h2 { display: none; }

.woocommerce ul.cart_list li,
.woocommerce ul.product_list_widget li { font-size: 0.8em; }

.woocommerce div.widget_shopping_cart_content .woocommerce-mini-cart__buttons a:not(.checkout) {
  border: none;
  background-color: #004a80;
  color: #fff;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table th,
.woocommerce-page table.shop_table td,
.woocommerce-page table.shop_table th { padding: 0.5rem 1rem; }

.woocommerce div.widget_shopping_cart_content .total { padding: 20px; }

.woocommerce-cart:not(.raven-cart-wiget-cart-page) table.cart td.actions .coupon .input-text {
  padding: 10px 15px;
  border-radius: 50px;
  margin: 30px 10px 0 0;
  width: 140px;
}

.woocommerce-table__line-item .product-name ul { display: none; }

.woocommerce div.widget_shopping_cart_content .cart_list li a.remove { font-size: 0 !important; }

/* -----------------------------------
   Events Manager – Items / Grid / Lists
----------------------------------- */
/* Item (Wrapper-Liste) */
#em-wrapper .em-events-list .em-item {
  background-color: #fff;
  border: 0;
  border-radius: 10px;
  padding: 30px 30px 30px 10px;
  margin: 0 0 -15px;
}

/* Item (Allgemeine Liste) */
.em.em-list .em-item {
  background-color: #fff;
  border: 0;
  border-radius: 10px;
  padding: 30px 30px 30px 20px;
  margin: 0 0 -15px;
}
.em.em-list .em-item:first-child { padding-top: 30px; }

.em.em-item .em-item-image img,
.em.em-list .em-item .em-item-image img {
  width: 100%;
  border: 0;
}

/* Grid-Variante */
.em.em-list.em-grid > div.em-item {
  background-color: #fff;
  border: 0;
  border-radius: 10px;
}
.em.em-list.em-grid > div.em-item .em-item-info .em-item-title a {
  color: #004a80 !important;
  font-weight: 400 !important;
  font-size: 0.9em !important;
  line-height: 0.9 !important;
}
.em.em-list.em-grid > div.em-item .em-item-info {
  border-top: 0;
  padding-top: 10px;
}

.em.em-list .em-item .em-item-info .em-item-meta,
.em.em-list-widget .em-item {
  margin: 20px 0;
}
.em.em-list .em-item .em-item-info .em-item-desc {
  font-size: 14px !important;
  margin: 10px 0 !important;
}

/* -----------------------------------
   Events Manager – Suche (Main Bar)
----------------------------------- */
.advanced-mode-modal .em-search-form .em-search-main-bar {
  background-color: #fff;
  border: 0 !important;
  border-radius: 10px;
  transform: translate(0, 0);
  padding: 20px !important;
  box-shadow: 0 0 10px 0 rgba(102,102,102,0.2);
}

@media only screen and (max-width: 600px) {
  /* Suchleiste */
  .advanced-mode-modal .em-search-form .em-search-main-bar { flex-wrap: wrap !important; }

  .em .em-search-advanced .em-search-main.em-search-main-bar > .em-search-field input,
  .em.em-search .em-search-main.em-search-main-bar > .em-search-field input,
  .em.em-search-advanced .em-search-main.em-search-main-bar > .em-search-field input {
    padding: 7px 0 !important;
  }

  .em.em-search .em-search-main.em-search-main-bar > .em-search-field { border-right: 0 !important; }
}

/* Form Controls */
.form-control { box-shadow: 0 0 0 0; }

/* Search submit (vereinheitlicht) */
.em-search-form .em-search-main-bar > .em-search-submit,
.em-search-main-bar .em-search-submit .em-search-submit {
  color: #fff;
  font-size: 15px;
  border: 0;
}

/* Booking submit */
.em.em-event-booking-form .em-button.em-booking-submit {
  color: #fff;
  border: 0 !important;
}

/* -----------------------------------
   Events Manager – Booking / Details
----------------------------------- */
.em-wc-cart-datetime { font-style: normal; padding-left: 95px; }

.em.em-event-booking-form h3.em-booking-section-title { display: none; }

.em-booking-form-details { padding-left: 0 !important; } /* Effektiv (überschrieb doppelte Angabe) */

.em-wc-attendees { display: none; }

.em.em-event-booking-form .em-tickets tr td:first-child { padding-left: 0; }
.em.em-event-booking-form .em-booking-section { padding: 0; }
.em.em-event-booking-form .em-booking-form { border: 0; }
.em.em-event-booking-form .em-tickets { margin: 0; width: 100% !important; }

.em .em-icon { color: var(--e-global-color-secondary) !important; }

/* Add to calendar */
.em button.input.em-event-add-to-calendar { padding-left: 0 !important; }
.em button:hover.input.em-event-add-to-calendar { background-color: #fff !important; }

/* -----------------------------------
   Woo – Konto / Tabellen / Texte
----------------------------------- */
.elementor-widget-raven-my-account .woocommerce address {
  background-color: #f5f5f5;
  border-radius: 10px;
  padding: 30px;
}
.elementor-widget-raven-my-account .woocommerce a,
.elementor-widget-raven-my-account .woocommerce .shop_table { font-size: 13px; }

p.order-again,
.jupiterx-post-meta-comments,
.em-wc-attendees,
.wpwh-login { display: none; }

.required { text-decoration: none !important; }

.wpwh-accordion-content { margin-top: 20px; }

.elementor-text-editor p {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label { display: inline; }

#billing_company_field,
#billing_alt_company_field { display: none !important; }

/* -----------------------------------
   Buttons / Inputs / Login
----------------------------------- */
.elementor-16097 .elementor-element.elementor-element-fc4c675 a.button:not(.view),
.elementor-16097 .elementor-element.elementor-element-fc4c675 button.button { font-size: 16px; }

#wp-submit.button {
  width: 100%;
  padding: .55rem .7rem;
  color: #fff;
  background: #1c497c;
  border: 0;
  border-radius: 20px;
  transition: all .15s ease-in-out;
}

input[readonly] {
  background-color: #f0f0f0 !important;
  border-color: #f0f0f0 !important;
  color: #C4C2C2 !important;
}
input[readonly]:focus {
  outline: none;
  border-color: #f0f0f0 !important;
  box-shadow: none;
}

/* Modal Footer Buttons */
.em.em-search-advanced.em-modal footer button.button {
  padding: 8px !important;
  color: #fff;
  border: 0;
  font-size: 0.9em !important;
}

/* -----------------------------------
   Badges / Status-Labels (Events)
----------------------------------- */
.veranstaltungsstatus,
.eventgrid-uni {
  position: relative;
  margin-top: auto;
  margin-left: 30px;
  float: right;
  padding: 5px 10px;
  width: 90px;
  border-radius: 20px;
  color: #fff;
  font-weight: 500;
  font-size: 0.8em;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1000;
}

/* Grid-Badge in Karten */
.eventgrid-uni { position: absolute; bottom: 15px; right: 15px; }

/* Home-Grid Badge */
.eventgrid-home {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 0.8em;
  font-weight: 500;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  white-space: nowrap;
}

/* Statusfarben */
.veranstaltungsstatus.status-verfuegbar,
.eventgrid-home.status-verfuegbar,
.eventgrid-uni.status-verfuegbar { background-color: green; }

.veranstaltungsstatus.status-ausgebucht,
.eventgrid-home.status-ausgebucht,
.eventgrid-uni.status-ausgebucht { background-color: red; }

.veranstaltungsstatus.status-abgesagt,
.eventgrid-home.status-abgesagt,
.eventgrid-uni.status-abgesagt { background-color: black; }

/* Bild-Wrapper für Badges */
.em-item-image-wrapper { position: relative; }

/* -----------------------------------
   Typo / Effekt
----------------------------------- */
.farbverlauf {
  background: rgb(151,124,54);
  background: -webkit-linear-gradient(rgba(151,124,54,1) 0%, rgba(151,124,54,1) 39%, rgba(168,162,147,1) 48%, rgba(151,124,54,1) 57%, rgba(151,124,54,1) 100%);
  background: -moz-linear-gradient(rgba(151,124,54,1) 0%, rgba(151,124,54,1) 39%, rgba(168,162,147,1) 48%, rgba(151,124,54,1) 57%, rgba(151,124,54,1) 100%);
  background: -o-linear-gradient(rgba(151,124,54,1) 0%, rgba(151,124,54,1) 39%, rgba(168,162,147,1) 48%, rgba(151,124,54,1) 57%, rgba(151,124,54,1) 100%);
  background: linear-gradient(rgba(151,124,54,1) 0%, rgba(151,124,54,1) 39%, rgba(168,162,147,1) 48%, rgba(151,124,54,1) 57%, rgba(151,124,54,1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

/* -----------------------------------
   Zahlungsbuttons
----------------------------------- */
.woocommerce-button.button.pay {
  background-color: red !important;
  color: #fff !important;
  border-color: red !important;
  padding: 5px 10px !important;
  margin-right: 10px;
  font-size: 13px !important;
}
.woocommerce-button.button.pay:hover { background-color: #917329 !important; }
