/* 
Theme Name: marmato
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor child theme
Author: marmato GmbH
Author URI: https://marmato.com
Template: hello-elementor
Version: 1.0.1
Text Domain: marmato
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/

/* Icon fix */

.elementor-icon-wrapper {
	line-height: 0;
}

.btn-normal, .btn-white, .btn-peach {
	white-space: normal;
}

/* Tabellen */

.table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.custom-table{
  width:100%;
  min-width:640px;
  border-collapse:collapse;
  font-size:1rem;
  background:transparent;
}

.zwei-spalten {
  width:100%;
  min-width:100%;
}

.custom-table thead:first-child tr:first-child th {
  border-top: none;
}

.custom-table caption{
  text-align:left;
  font-weight:700;
  margin-bottom:12px;
}

.custom-table th,
.custom-table td{
  padding:14px 16px;
  border: none;
  text-align:left;
  vertical-align:top;
}
.custom-table th:first-child,
.custom-table td:first-child{
  max-width:250px;
  width:250px;
}

.zwei-spalten th:first-child,
.zwei-spalten td:first-child{
  max-width:300px!important;
  width:300px!important;
}

.custom-table-horizontal{
  width:100%;
  min-width:800px;
  border-collapse:collapse;
  border: none;
  font-size:1rem;
  background:transparent;
  table-layout: fixed;
  margin-block-end: 0;
}

/* Mobil */
@media (max-width: 874px) {
  .custom-table-horizontal,
  .custom-table-horizontal tbody,
  .custom-table-horizontal tr,
  .custom-table-horizontal th,
  .custom-table-horizontal td {
    display: block;
    width: 100%;
	min-width:300px;
  }

  .custom-table-horizontal tr:first-child {
    display: none;
  }

  .custom-table-horizontal tr:last-child {
    padding: 12px;
  }

  .custom-table-horizontal td {
    border: none;
    padding: 15px!important;
  }

  .custom-table-horizontal td:not(:last-child) {
    border-bottom: 1px solid #4a4444;
	 border-right: none!important;
  }

  .custom-table-horizontal td::before {
    content: attr(data-label);
    display: block;
    font-weight: 700;
    margin-bottom: 6px;
  }
}

/* Mobil Ende */

.custom-table-horizontal th, .custom-table-horizontal td {
	text-align: center;
	border: 2px solid transparent;
	background-color:transparent!important;
}

.custom-table-horizontal th, .custom-table-horizontal td {
  border: none;
  padding: 10px 30px;
}

.custom-table-horizontal th:not(:last-child), .custom-table-horizontal td:not(:last-child) {
  border-right: 1px solid #4a4444;
}

.custom-table{
  width:100%;
  min-width:640px;
  border-collapse:collapse;
  font-size:1rem;
}

.custom-table caption{
  text-align:left;
  font-weight:700;
  margin-bottom:12px;
}

.custom-table th,
.custom-table td{
  padding:14px 16px;
  border: none;
  text-align:left;
  vertical-align:top;
}
.custom-table th:first-child,
.custom-table td:first-child{
  max-width:200px;
  width:200px;
}

.content li {
	margin-bottom: 1rem;
}

/* Slider */
@media (max-width: 874px) {
  .swiper-slide-contents {
	  padding: 15px;
	  background-color: #DCF2EE8C;
	  border-start-start-radius: 20px;
	  border-start-end-radius: 3px;
      border-end-start-radius: 3px;
      border-end-end-radius: 20px;
  }
  
  .elementor-slide-heading {
	  margin-bottom: 5px!important;
  }
}

/* Nummerierte Liste mit Icon-Kreisen */
ol.ablauf-liste {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: ablauf-counter;
}

ol.ablauf-liste li {
  counter-increment: ablauf-counter;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

ol.ablauf-liste li::before {
  content: counter(ablauf-counter);
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background-color: #427371;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 0.1rem; /* optische Ausrichtung zur ersten Textzeile */
}
