/*
 Theme Name:     Kreativ
 Theme URI:      http://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Kreativ Webagentur KlG
 Author URI:     https://www.kreativ.swiss
 Template:       Divi
 Version:        1.0.2
*/
 
@import url("../Divi/style.css");
 
/* =Theme customization starts here
------------------------------------------------------- */
/* =========================================================
   CUSTOM BREAKPOINTS for Divi Blog Grid (Salvattore)
   3 → 2 → 1 columns
   ========================================================= */

/* Default (≥1061px): 3 columns */
.et_pb_blog_grid .et_pb_salvattore_content[data-columns]::before {
  content: '3 .column.size-1of3';
}

/* Between 768px and 1060px: 2 columns */
@media (max-width: 1060px) {
  .et_pb_blog_grid .et_pb_salvattore_content[data-columns]::before {
    content: '2 .column.size-1of2';
  }
}

/* ≤767px: 1 column */
@media (max-width: 767px) {
  .et_pb_blog_grid .et_pb_salvattore_content[data-columns]::before {
    content: '1 .column.size-1of1';
  }
}

/* =========================================================
   Adjust widths + gutters to match the custom breakpoints
   ========================================================= */
.et_pb_blog_grid .et_pb_salvattore_content > .column {
  margin-right: 2% !important;     /* tighter gutters */
}

.et_pb_blog_grid .et_pb_salvattore_content > .column.size-1of3 {
  width: 32% !important;           /* 3 cols, 2% gaps */
}

.et_pb_blog_grid .et_pb_salvattore_content > .column.size-1of2 {
  width: 48% !important;           /* 2 cols, 2% gap */
}

.et_pb_blog_grid .et_pb_salvattore_content > .column.size-1of1 {
  width: 100% !important;          /* full width single col */
  margin-right: 0 !important;
}

/* Remove the last column's right gap */
.et_pb_blog_grid .et_pb_salvattore_content > .column:last-child {
  margin-right: 0 !important;
}

/* Optional: tighten vertical space between cards */
.et_pb_blog_grid .et_pb_post {
  margin-bottom: 20px;
}


/* =========================
   SPECS ROW UNDER TITLE/EXCERPT
   - Row on desktop
   - 2 per row at ≤1060px
   - 1 per row at ≤600px
   ========================= */
.et_pb_blog_grid .et_pb_post .heli-excerpt-specs {
  margin-top: 12px;
  display: flex;
  align-items: flex-start;
  gap: 12px;                    /* space between spec items */
  flex-wrap: nowrap;            /* keep on one line (desktop) */
}

.et_pb_blog_grid .et_pb_post .heli-spec {
  display: inline-flex;         /* width fits content */
  align-items: flex-start;
  gap: 10px;
  flex: 0 0 auto;               /* don’t grow/shrink */
  white-space: nowrap;          /* keep label+value together */
}

.et_pb_blog_grid .et_pb_post .heli-spec__icon {
  flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
}
.et_pb_blog_grid .et_pb_post .heli-spec__icon img {
  width: 24px; height: 24px;
  min-width: 24px; min-height: 24px;
  object-fit: contain; display: block;
}

.et_pb_blog_grid .et_pb_post .heli-spec__text { display: flex; flex-direction: column; }
.et_pb_blog_grid .et_pb_post .heli-spec__label { font-size: 12px; line-height: 1.2; opacity: .7; margin-bottom: 2px; }
.et_pb_blog_grid .et_pb_post .heli-spec__value { font-size: 14px; line-height: 1.3; font-weight: 600; }

/* custom tablet: allow wrapping, 2 items per row */
@media (max-width: 1100px) {
  .et_pb_blog_grid .et_pb_post .heli-excerpt-specs {
    flex-wrap: wrap;
    gap: 10px 20px;             /* row/column gap */
  }
  .et_pb_blog_grid .et_pb_post .heli-spec {
    flex: 1 1 calc(50% - 20px); /* 2 per row */
    white-space: normal;        /* allow text to wrap if needed */
  }
}

/* mobile: one per row */
@media (max-width: 600px) {
  .et_pb_blog_grid .et_pb_post .heli-spec {
    flex: 1 1 100%;
  }
}

/**/
/* ===== Force specs to stay on ONE line at all widths ===== */
.et_pb_blog_0 .et_pb_post .heli-excerpt-specs {
  display: flex;
  flex-wrap: nowrap !important;           /* never wrap */
  gap: 12px;
  margin-top: 12px;
  overflow-x: auto;                        /* allow horizontal scroll if needed */
  -webkit-overflow-scrolling: touch;       /* smooth scroll on iOS */
}

/* Each spec uses only the width it needs and never wraps internally */
.et_pb_blog_0 .et_pb_post .heli-spec {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  flex: 0 0 auto !important;               /* no grow/shrink at any breakpoint */
  white-space: nowrap;                      /* keep label + value on one line */
}

/* Icon never shrinks */
.et_pb_blog_0 .et_pb_post .heli-spec__icon img {
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  object-fit: contain;
  display: block;
}

/* (Optional) tidy scrollbar appearance on mobile */
.et_pb_blog_0 .et_pb_post .heli-excerpt-specs::-webkit-scrollbar { height: 6px; }
.et_pb_blog_0 .et_pb_post .heli-excerpt-specs::-webkit-scrollbar-thumb { background: rgba(0,0,0,.15); border-radius: 3px; }

/* Tighter horizontal gutters + balanced widths */
.et_pb_blog_grid .et_pb_salvattore_content > .column { margin-right: 2% !important; }
.et_pb_blog_grid .et_pb_salvattore_content > .column.size-1of3 { width: 32% !important; }
.et_pb_blog_grid .et_pb_salvattore_content > .column.size-1of2 { width: 48% !important; }
.et_pb_blog_grid .et_pb_salvattore_content > .column.size-1of1 { width: 100% !important; margin-right: 0 !important; }
/* safety: no right gap on the far right */
.et_pb_blog_grid .et_pb_salvattore_content > .column:last-child { margin-right: 0 !important; }
/* optional vertical spacing */
.et_pb_blog_grid .et_pb_post { margin-bottom: 20px; }

/**/
.entry-title {
	font-family: 'alexandria-regular';
}

/*========== Kontaktformular ==========*/
/*Text field settings*/
input.text, input.title, input[type=email], input[type=password], input[type=tel], input[type=text], input[type=date], input[type=number], select, textarea {
	width:100%!important;
	min-height:40px!important;
	border-radius:0px!important;
	font-size: 15px!important;
	font-family: 'alexandria-light'!important;
	font-weight: 300!important;
	padding-left:10px!important;
	border:1px solid #adadad!important;
	color:#666!important;
}

@media (max-width:980px) {
	input.text, input.title, input[type=email], input[type=password], input[type=tel], input[type=text], input[type=date], input[type=number], select, textarea {
		font-size:16px!important;
	}
}
.page-id-584 textarea {
	width:100%!important;
	min-height:40px!important;
	height:96px!important;
	max-height:500px!important;
	border-radius:0px!important;
	font-size: 18px!important;
	font-family: 'alexandria-light'!important;
	padding-left:10px!important;
	border-color:#adadad!important;
	padding-top:10px;
	transition: ease-in-out 0.5s;
}
@media (max-width:900px) {
	textarea {
		font-size:16px!important;
	}
}
textarea:focus {
	min-height:48px!important;
	height:200px!important;
	max-height:500px!important;	
	transition: ease-in-out 0.5s;
}
@media (max-width:900px) {
	input.text, input.title, input[type=email], input[type=password], input[type=tel], input[type=text], input[type=date], input[type=number], select, textarea {
		width:100%!important;
	}
}
/*Error message text*/
.wpcf7-not-valid-tip {
	padding-top:4px!important;
	font-family:'alexandria-light'!important;
	font-weight:300!important;
	color:#D23C1E!important;
	font-size:16px!important;
}
.page-id-584 label {
	font-size:16px!important;
	font-family:'alexandria-thin'!important;
	color:#666666!important;
}
/*Radio buttons*/
.wpcf7-list-item {
	margin:0 0 0 6px!important;
}
/*Submit button*/
.page-id-584 .wpcf7-submit, .page-id-963 .wpcf7-submit {
	font-family:'alexandria-light';
	color:#fff!important;
	font-weight:300;
	border-radius:0px!important;
	font-size:18px!important;
	background-color:#61652f!important;
	border:1px;
	padding: 8px 27px 8px 27px;
	cursor:pointer;
	margin-top:10px;
	transition:0.3s;
}
.page-id-584 .wpcf7-submit:hover, .page-id-963 .wpcf7-submit:hover {
	background-color:#3A5127!important;
	border:1px;
}
.page-id-584 .wpcf7-submit:hover:after, .page-id-963 .wpcf7-submit:hover:after {
	display:none!important;
}
.page-id-584 .wpcf7-submit:after, .page-id-963 .wpcf7-submit:after {
	display:none!important;
}
.page-id-584 .wpcf7-submit:hover, .page-id-584 .et_pb_module .et_pb_button:hover, .page-id-963 .wpcf7-submit:hover, .page-id-963 .et_pb_module .et_pb_button:hover {
	padding: 8px 27px 8px 27px;
	border:1px;
	transition:0.3s;
}
.page-id-584 .form-row p {
	font-size:16px!important;
	font-family:'alexandria-light'!important;
	color:#666!important;
}
/*Focus label*/
input.text:focus, input.title:focus, input[type=text]:focus, select:focus, textarea:focus, input[type=email]:focus, input[type=tel]:focus, input[type=date]:focus {
	border-color:#669143!important;
}
/*Error labels*/
.wpcf7-not-valid {
 	color:#d12!important;
	border-color:#d12!important;
}

/*--- Error & Success Message pattern ---*/
/*General message pattern*/
.wpcf7 form .wpcf7-response-output {
    border:1.5px solid!important;
    border-radius: 8px!important;
    font-size:16px!important;
    padding:1.2em 1.2em!important;
    display: flex;
    align-items: center;
	font-family:'alexandria-light'!important;
	font-weight:300!important;
	margin:1em 0px 0.5em 0px!important;
}

/*SUCCESS message pattern*/
.wpcf7 form.sent .wpcf7-response-output {
    border:1.5px solid #E3F1D7!important;
    background:#E3F1D7!important;
}

.wpcf7 form.sent .wpcf7-response-output:before {
    content: '';
    width: 25px;
    height: 25px;
    background-image: url('https://vinum-dominus.ch/wp-content/uploads/2024/08/check-green-filled.webp');
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
    display: inline-block;
}

/*ERROR message pattern*/
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
	border: 1.5px solid #F6D8D2!important;
	background:#F6D8D2!important;
}

.wpcf7 form.failed .wpcf7-response-output:before, .wpcf7 form.invalid .wpcf7-response-output:before, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    content: '';
    width: 25px;
    height: 25px;
    background-image: url('https://vinum-dominus.ch/wp-content/uploads/2024/08/error-circle.webp');
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
    display: inline-block;

}

/* Target the text (including slashes) in WebKit browsers */
input[type="date"]::-webkit-datetime-edit-text {
  color: #666!important; /* Match your empty state text color */
}

/* Target the empty value (before user selects a date) */
input[type="date"]:empty::-webkit-datetime-edit {
  color: #666!important;
}

/* Optional: target the day, month, year parts */
input[type="date"]::-webkit-datetime-edit-day-field,
input[type="date"]::-webkit-datetime-edit-month-field,
input[type="date"]::-webkit-datetime-edit-year-field {
  color: #666!important;
}

/*Custom form layout*/
/*---------- Devenir membre form ----------*/
#responsive-form{
	max-width:600px /*-- change this to get your desired form width --*/;
	margin:0 auto;
        width:100%;
}
.form-row{
	width: 100%;
}
.column-half, .column-full, .column-third {
	float: left;
	position: relative;
	padding: 0.65rem 0.65rem 0.65rem 0;
	width:100%;
	-webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box
}
.clearfix:after {
	content: "";
	display: table;
	clear: both;
}
@media only screen and (min-width: 48em) { 
	.column-half{
		width: 50%;
	}
	.column-third {
		width:33%;
	}
}
#single-text{
	font-weight:300!important;
}

/*========== Helicopter Detail Site ===========*/
.table-title,
.table-content {
  text-align: left;
  padding: 6px 12px;
  border: none; /* removes all lines */
}

/* Title styling */
.table-title {
	font-family: 'alexandria-light';
	color:#333!important;
}

/* First column: no left padding/margin, extra right spacing */
table td:first-child,
table th:first-child {
  padding-left: 0;
  margin-left: 0;
  padding-right: 30px;
}

/*Custom images*/
/* Tablet view: keep 2/3 + 1/3 flex layout */
@media (max-width: 980px) {
  .images-layout {
    display: flex !important;
    flex-wrap: nowrap;
    gap: 15px; /* space only between children */
  }

  .images-layout > .images-layout-child-1,
  .images-layout > .images-layout-child-2 {
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }

  /* Keep vertical padding for tablet */
  .images-layout > .images-layout-child-1,
  .images-layout > .images-layout-child-2 {
    padding-top: 200px !important;
    padding-bottom: 200px !important;
  }

  .images-layout-child-1 {
    flex: 0 0 66.666%;
    max-width: 66.666%;
  }

  .images-layout-child-2 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
  }

  .images-layout img {
    display: block;
    width: 100%;
    height: auto;
  }
}

/* Mobile: stack + enforce 100px vertical padding and 15px spacing below 1st */
@media (max-width: 767px) {
  .images-layout {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important; /* no flex gap on mobile */
  }

  /* Force full width on both children */
  .images-layout > .images-layout-child-1,
  .images-layout > .images-layout-child-2 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    /* kill any lingering 125px from tablet */
    padding-top: 150px !important;
    padding-bottom: 150px !important;
    box-sizing: border-box;
  }

  /* Some Divi layouts add an inner wrapper; enforce there too */
  .images-layout > .images-layout-child-1 .et_pb_column_inner,
  .images-layout > .images-layout-child-2 .et_pb_column_inner {
    padding-top: 150px !important;
    padding-bottom: 150px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Add 15px below the first stacked child */
  .images-layout > .images-layout-child-1,
  .images-layout > .images-layout-child-1 .et_pb_column_inner {
    margin-bottom: 15px !important;
  }

  /* Safety: prevent modules from re-adding spacing */
  .images-layout > .images-layout-child-1 > .et_pb_module,
  .images-layout > .images-layout-child-2 > .et_pb_module {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .images-layout img {
    display: block;
    width: 100%;
    height: auto;
  }
}