/*
Theme Name:     Stratus - Child Theme
Theme URI:      http://themovation.com/stratus
Template:       stratusx
Author:         Themovation
Author URI:     http://themovation.com
Version:        4.0
Text Domain:    stratus
Domain Path:    /languages/
*/


/* = Theme customization starts here
-------------------------------------------------------------- */

.woocommerce .woocommerce-message a.button.wc-forward.button {
  font-size: 13px !important;
  padding: 10px 22px !important;
  margin-top: 30px !important;
}

/* Apply Coupon Button – Styling Override */
.woocommerce-cart .coupon button[name="apply_coupon"],
.woocommerce .cart .coupon button[name="apply_coupon"] {
  height: 35px;
  padding: 1px 5px !important;
  font-size: 12px;
  background: #F0F0F0;
  color: gray;
  /* falls irgendwo eine alte Breite gesetzt war: */
  width: auto !important;
  margin-bottom: 0 !important;
}

/* Checkout: Jetzt kaufen Button vollbreit + Abstand unten */
#place_order.button.alt {
  width: 100% !important;
  margin-bottom: 30px !important;
  background-color: #427FEC;
}

.elementor-578 .elementor-element.elementor-element-560c70d > .elementor-widget-container {
    margin: 7vw 0vw 1vw 0vw !important;
}


/* Checkout Page */

.woocommerce table.shop_table {

    font-size: 12px !important;
}

.cart-collaterals .cart_totals .cart-subtotal .amount {font-size: 12px !important;}
.cart-collaterals .cart_totals .order-total .amount {font-size:14px}

#add_payment_method .wc-proceed-to-checkout a.checkout-button,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
    font-size: 12px !important;
}

html .woocommerce .wc-proceed-to-checkout a.button {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.woocommerce #content table.cart td.actions .button,.woocommerce table.cart td.actions .button,.woocommerce-page #content table.cart td.actions .button,.woocommerce-page table.cart td.actions .button {
    width: 70%;
}
.woocommerce .shop_table.cart td {padding: 15px 0;}

.woocommerce .woocommerce-info a:active {text-decoration:none;color: #427FEC !important;}



.woocommerce form .form-row .input-text,.woocommerce form .form-row select {
    
    border: var(--wc-form-border-width) solid rgb(213 213 213 / 80%);
    border-radius: 7px !important;
    
}

:where(.woocommerce) .select2-container .select2-dropdown,:where(.woocommerce) .select2-container .select2-selection {
    border: var(--wc-form-border-width) solid rgb(213 213 213 / 80%);
    border-radius: var(--wc-form-border-radius,7px)
}

.woocommerce form .form-row {
    padding: 0px;
    margin: 10px 0px 20px;
}

label{display:inline-block;margin-bottom:0px;font-weight:700}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 25px;
    padding-left:0;
    font-family: inherit;
    font-weight: 400;
    color: #5c5c5c !important;
}

input[type=date]{line-height:34px;border: var(--wc-form-border-width) solid rgb(213 213 213 / 80%);border-radius: var(--wc-form-border-radius,7px);font-size: 13px;font-family: inherit;color: #5c5c5c !important;font-weight: 400;padding-left: 4px;}
input[type=time]{line-height:34px;border: var(--wc-form-border-width) solid rgb(213 213 213 / 80%);border-radius: var(--wc-form-border-radius,7px);font-size: 13px;font-family: inherit;color: #5c5c5c !important;font-weight: 400;padding-left: 4px;}

.woocommerce form .form-row label.checkbox,.woocommerce-page form .form-row label.checkbox {
     font-size: 12px !important;
}

/* Gutschein-Info-Box: Textfarbe */
.woocommerce-info a.showcoupon{
  color: #427FEC !important;
}


/* ============================================================
   DJfy Checkout URL Field: Input + ".djfy.at" inline,
   Error message below (without moving the suffix)
   ============================================================ */

/* 1) Wrapper: bleibt eine Zeile, kein Umbruch */
#billing_url_field .woocommerce-input-wrapper{
  display: flex;
  align-items: center;
  flex-wrap: nowrap;           /* <-- wichtig: suffix bleibt inline */
  position: relative;          /* <-- für absolute Fehlermeldung */
}

/* 2) Input: nimmt restliche Breite */
#billing_url_field .woocommerce-input-wrapper input#billing_url{
  flex: 1 1 auto;
  min-width: 0;                /* verhindert overflow in flex */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

/* 3) Suffix ".djfy.at" (dein ::after Label) bleibt rechts inline */
#billing_url_field .woocommerce-input-wrapper::after {
  content: attr(data-djfy-suffix);   /* statt content: ".djfy.at"; */
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  height: 100%;
  border: 1px solid #cfcfcf;
  border-left: 0;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  background: #f7f7f7;
  color: #444;
  white-space: nowrap;
}

/* 4) Fehlermeldung: aus dem Flex-Flow raus, unterhalb anzeigen */
#billing_url_field .woocommerce-input-wrapper .djfy-url-error{
  position: absolute;
  left: 0;
  top: calc(100% + 6px);       /* direkt unterhalb des Feldes */
  width: 100%;
  margin: 0;
  font-size: 12px;
  line-height: 1.3;
  color: #b32d2e;
}

/* 5) Wenn keine Fehlermeldung, dann gar nicht anzeigen */
#billing_url_field .woocommerce-input-wrapper .djfy-url-error:empty{
  display: none;
}

/* 6) Damit die Fehlermeldung nicht über nachfolgende Felder "drüberliegt":
      Wir geben dem Feld-Container unten etwas Platz, aber nur wenn Fehler da ist.
      (Greift nur in modernen Browsern mit :has) */
#billing_url_field:has(.djfy-url-error:not(:empty)){
  padding-bottom: 22px;        /* Platz für 1 Zeile Error; bei langen Texten ggf. erhöhen */
}

/* Fallback ohne :has(): wenn du ganz sicher gehen willst, nimm fix etwas Abstand */
@supports not(selector(:has(*))){
  #billing_url_field{
    padding-bottom: 22px;
  }
}

@media (max-width: 600px){
  .elementor-1117 .elementor-element.elementor-element-37bac5c8 {
    --spacer-size:0px !important;
  }
}


/* ============================================================
   Woo Checkout Coupon Form – modern, dezent, sauber ausgerichtet
   Ziel: Desktop nebeneinander mit Abstand, Mobile zentriert
   ============================================================ */

/* Container: kompakter, weniger "wuchtig" */
form.checkout_coupon.woocommerce-form-coupon{
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  margin: 0;
  border: 1px dashed #cfc8d8;
  margin-bottom: 3vh;
}

/* Die beiden Form-Rows sollen keine 50%/float-Altlasten nutzen */
form.checkout_coupon.woocommerce-form-coupon p.form-row{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Input-Row: nimmt den Platz */
form.checkout_coupon.woocommerce-form-coupon p.form-row-first{
  flex: 1 1 auto;
  min-width: 220px;
}

/* Button-Row: nur so breit wie nötig */
form.checkout_coupon.woocommerce-form-coupon p.form-row-last{
  flex: 0 0 auto;
}

/* Input: kleiner, moderner */
form.checkout_coupon.woocommerce-form-coupon input#coupon_code{
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.02);
  box-shadow: none;
  outline: none;
}

form.checkout_coupon.woocommerce-form-coupon input#coupon_code:focus{
  border-color: rgba(66,127,236,.55);
  background: #fff;
}

/* Button: dezenter, kompakter */
form.checkout_coupon.woocommerce-form-coupon button[name="apply_coupon"]{
  height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.05);
  box-shadow: none;
  font-weight: 600;
  line-height: 40px;
  white-space: nowrap;
}

/* Hover/Active minimal */
form.checkout_coupon.woocommerce-form-coupon button[name="apply_coupon"]:hover{
  background: rgba(0,0,0,.08);
}

form.checkout_coupon.woocommerce-form-coupon button[name="apply_coupon"]:active{
  transform: translateY(1px);
}

/* Clearfix wird nicht mehr gebraucht */
form.checkout_coupon.woocommerce-form-coupon .clear{
  display: none !important;
}

h3#order_payment_heading{
  font-size: 20px !important;
}

h3#order_review_heading{
  font-size: 20px !important;
}

/* Mobile: untereinander + zentriert */
@media (max-width: 600px){
  form.checkout_coupon.woocommerce-form-coupon{
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  form.checkout_coupon.woocommerce-form-coupon p.form-row-first,
  form.checkout_coupon.woocommerce-form-coupon p.form-row-last{
    width: 100% !important;
  }

  form.checkout_coupon.woocommerce-form-coupon button[name="apply_coupon"]{
    width: 100%;
    justify-content: center;
  }
}



/* Seite 2641: kompletten Header/Banner ausblenden */
body.page-id-2641 header.banner.navbar {
  display: none !important;
}

/* Fallback: falls das Menü irgendwo doppelt gerendert wird */
body.page-id-2641 ul#menu-main-menu.nav.navbar-nav {
  display: none !important;
}


#logo img {
    max-height: 50px !important;
}

.page-id-2729 nav.collapse.navbar-collapse.bs-navbar-collapse,
.page-id-2729 #menu-main-menu {
  display: none !important;
}


/* Mobile: untereinander + zentriert */
@media (max-width: 600px){
  #logo img {
      max-height: 30px !important;
  }

  .banner #logo {
      margin-left: 15px;
      margin-bottom: 1rem;
      margin-top: 1rem;
  }
}

.page-id-2729 .navbar-toggle,
.page-id-2729 button.navbar-toggle {
  display: none !important;
}

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
    border-color: #d63638 !important;
    box-shadow: 0 0 0 1px #d63638 !important;
}

.woocommerce form .form-row.woocommerce-invalid .djfy-url-error {
    color: #d63638;
}

#billing_url[aria-invalid="true"] {
    border-color: #d63638 !important;
    box-shadow: 0 0 0 1px #d63638 !important;
}

body.woocommerce-order-received.woocommerce-checkout .elementor-section-boxed .elementor-container {
	width: 100% !important;
	max-width: 100% !important;
}

body.woocommerce-order-received .elementor-section-boxed .elementor-container {
	width: 100% !important;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

#ppc-button-ppcp-gateway {
    line-height: 0;
    margin-bottom: 4vh !important;
}


/* EU SEITE - English */

html[lang="en-US"] .hfe-nav-menu .hfe-menu-item {
  font-size: 15px;
  padding-left: 12px;
  padding-right: 12px;
}

@media (max-width: 1200px) {
  html[lang="en-US"] .hfe-nav-menu .hfe-menu-item {
    font-size: 14px;
    padding-left: 8px;
    padding-right: 8px;
  }
}