/*
 Theme Name:   OceanWP Child
 Description:  Child Theme des high-performance WP-Theme OceanWP
 Author:       Philipp Limbeck
 Author URI:   https://insyde.at/
 Template:     oceanwp
 Version:      1.0
 Text Domain:  oceanwp-child
*/

/* overwrite general settings of oceanwp for focus of links (black border) */
#main a:focus,
#site-header a:focus,
#footer a:focus{
	outline: 0px !important;
}

/* Farben */

:root {
    --farbe-gelb: #e1a832;
    --farbe-dunkelblau: #1e293b;
    --farbe-dunkelgrau: #334155;
    --farbe-hell: #fafafa;
	--farbe-grau: #e7e7e7;
}

.nomargin-bottom {
	margin-bottom: 0px !important;
}

#aktuelles-row{
	padding-left: 70px;
	padding-right: 70px;
}

.wc-product-lower-col img.attachment-woocommerce_thumbnail{
	max-height: 400px;
	width: auto;
}
.nopadding-top,
.vc_row-has-fill + .vc_row-full-width + .vc_row > .vc_column_container > .vc_column-inner {
	padding-top: 0px !important;
}

::selection {
    background: var(--farbe-gelb) !important;
    color: #000;
}

::-moz-selection {
    background: var(--farbe-gelb) !important;
    color: #000;
}


/* Image Zoom */


div.image-zoom-container {
	overflow: hidden;
}

div.image-zoom {
transition: 1s all;
}

div.image-zoom:hover  {
 transform: scale(1.05);
}


/* Buttons */

a.stefanbutton-center {
display: table;
    margin: 0 auto;
    background-color: var(--farbe-gelb);
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 16px 30px !important;
	color: var(--farbe-dunkelblau);

    /* Zentrierung */
   text-align: center;
}

a.stefanbutton-center:hover,
a.stefanbutton-center:focus,
a.stefanbutton-left:hover,
a.stefanbutton-left:focus {
    background-color: #000 !important;
	color: #fff;
}


a.stefanbutton-left {
    background-color: var(--farbe-gelb);
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 16px 30px !important;
	color: var(--farbe-dunkelblau);
}

.stefansheader {
    position: relative;
    background-image: url('https://stefanshof.insyde.co.at/wp-content/uploads/2025/12/stefanshof_headerbild.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

    /* Parallax-Effekt (Desktop) */
    background-attachment: fixed;

    /* Höhe wie im Beispiel */
    min-height: 80vh;

    display: flex;
    align-items: center;
}


.shoph1 h1 {
	font-family: 'Montserrat';
    font-size: 40px;
    line-height: 1.4;
    font-weight: 700;
    text-transform: uppercase;
}

h1.single-post-title.product_title.entry-title {
	  font-size: 30px;
  line-height: 1.4;
  letter-spacing: .6px;
	font-weight: 700;
	color: var(--farbe-dunkelblau) !important;
}

.stefansheader h1,
.stefansheader p {
	color: #fff;
}
.strukturbg {
    position: relative;
}

.strukturbg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('https://stefanshof.insyde.co.at/wp-content/uploads/2025/12/bckgnd.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0.8;
    z-index: 0;
}

/* Inhalt über das Bild legen */
.strukturbg > * {
    position: relative;
    z-index: 1;
}


.bildnopadding .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.bildnopadding .wpb_single_image img {
    display: block;
     padding: 0 !important;
}


#weintraubegold {
	position: relative;
    background-image: url('/wp-content/uploads/2026/03/stefanshof_weingarten.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

    /* Parallax-Effekt (Desktop) */
    background-attachment: fixed;

    /* Höhe wie im Beispiel */
    min-height: 80vh;

    display: flex;
    align-items: center;
}


.verjus-bild {
	position: absolute;
	right: 0;
	top: 10%;
}

.weine-text {
	padding-left: 50px;
}

.stefanshof-geschichte {
	font-size: 40px;
}

/* kein Abstand Content Footer bei Über uns & Kontakt */

.page-id-122 div#content-wrap.container.clr,
.page-id-155 div#content-wrap.container.clr{
	padding-bottom: 0px !important;
}

/* FOOTER */

footer#footer.site-footer {
	background-color: var(--farbe-grau);
	font-size: 18px;
}

.footer-miniinfo p,
.footer-miniinfo a {
	font-size: 14px;
}

/* Grundabstände bleiben */
.stefans-footer-links .vc_column-inner {
    padding: 0 60px !important;
}

/* Columns als Referenz */
.stefans-footer-links .vc_column_container {
    position: relative;
}

/* Vertikale Trennlinie – immer volle Höhe */
.stefans-footer-links .vc_column_container:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background-color: #c9c9c9;
}

/* Mobile: untereinander, keine Linien */
@media (max-width: 767px) {
    .stefans-footer-links .vc_column-inner {
        padding: 18px 20px !important;
    }

    .stefans-footer-links .vc_column_container::after {
        display: none !important;
    }
	
	#aktuelles-row{
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (max-width: 970px) {
    .stefans-footer-links .vc_column-inner {
        padding: 0 35px !important;
    }
}


@media (max-width: 1100px) {
	footer#footer.site-footer p,
	footer#footer.site-footer a {
		font-size: 14px;
	}
	.footer-miniinfo p,
.footer-miniinfo a {
	font-size: 12px !important;
}
}

.kontakt-stefanshof {
	background-color: var(--farbe-grau);
	 display: flex !important;
    align-items: center !important;
}

#jugend-desktop{
	gap: 30px;
}

/* Ninja Form */

div.nf-form-fields-required {
	display: none;
}

div.ninja-kontakt {
	background-color: #fff;
}

div#nf-field-7-wrap {
	float: right;
}

input#nf-field-7.ninja-forms-field.nf-element {
	color: var(--farbe-dunkelblau);
}

input#nf-field-7.ninja-forms-field.nf-element:hover {
	color: #fff;
}

div.nf-form-content {
	margin-top: 15px;
}

div.nf-field-element {
	background-color: var(--farbe-grau);
}

input#nf-field-5,
textarea#nf-field-6 {
	border: 1px solid var(--farbe-dunkelblau);
	background-color: #fafafa;
}

/* Hintergrund-Row bleibt wie sie ist */
.strukturbg {
    position: relative;
    overflow: visible !important; /* Überlappung erlauben */
}

/* Nur die innere Row (Form+Adresse) nach oben ziehen */
.strukturbg .kontaktrowinner,
.aboutus-row {
    position: relative;
    z-index: 10;
    transform: translateY(-120px); /* HIER die Überlappung */
}

/* Mobile: keine Überlappung */
@media (max-width: 767px) {
    .strukturbg .kontaktrowinner,
	.aboutus-row {
        transform: none;
    }
}

/* MOBILE */

@media (max-width: 1100px) {
    body h1,
    body h2 {
        font-size: 60px;
    }

    body h3 {
        font-size: 35px;
    }

    body h4,
    body p {
        font-size: 18px;
    }
}

div.page-description>p:first-child{
	display: none;
}


@media (max-width: 550px) {
    body h1,
    body h2 {
        font-size: 36px !important;
    }
	.woocommerce div.product .related > h2 {
		font-size: 32px !important;
	}

    body h3 {
        font-size: 28px !important;
    }

       body p {
        font-size: 18px !important;
    }
	
	#main ul.products li.product h2{
		font-size: 20px !important;
		hyphens: auto;
	}
	
	ul.products li.product .wc-product-upper{
		min-height: 105px;
	}
}

#nikstiv-mobile,
#beeren-mobile,
#lieblingswein-mobile,
#unsereweine-mobile {
	display: none;
}

@media (max-width: 1800px) {
	.nikstiv-text-start {
		margin-left: -150px;
	}
}

@media (max-width: 1600px) {
	.nikstiv-text-start {
		margin-left: -200px;
	}
}

@media (max-width: 1535px) {
	#nikstiv-mobile {
		display: block;
	}
	#nikstiv-desktop {
		display: none;
	}
}

@media (max-width: 900px) {
	#beeren-mobile,
	#lieblingswein-mobile {
		display: block;
	}
	#beeren-desktop,
	#lieblingswein-desktop {
		display: none;
	}
	
}

@media (max-width: 1400px) {
		#unsereweine-mobile {
		display: block;
	}
	#unsereweine-desktop,
	.aboutus-leer {
		display: none;
	}
}


@media (max-width: 1300px) and (min-width: 769px) {
	button.button.alt.single_add_to_cart_button.add_to_cart_button.product_type_simple,
	section.related.products button.button.alt.add_to_cart_button.product_type_simple {
		font-size: 14px;
		padding: 7px 5px;
	}

	/*
	select.selectqty {
		width: 75%;
	}
	*/
}

@media (max-width: 634px) {
	button.button.alt.single_add_to_cart_button.add_to_cart_button.product_type_simple,
	section.related.products button.button.alt.add_to_cart_button.product_type_simple {
		font-size: 12px;
		text-transform: none;
	}

	select.selectqty {
		min-height: 33px;
	}
}

/* WOOF */
@media (max-width: 850px) {
	.woof_list_label .woof_label_term {
		font-size: 18px !important;
	}
}

@media (max-width: 700px) {
	.woof_list_label .woof_label_term {
		font-size: 16px !important;
		padding: 5px 5px !important;
		height: 40px !important;
		margin: 0px !important;
	}
}


/* Shop/Archive: Mengen-Auswahl (Select) zwischen 1130px und 769px mittig */
@media (max-width: 1130px) and (min-width: 769px) {

  /* Wrapper des Qty-Felds (je nach Template/Plugin kann das einer davon sein) */
  .woocommerce ul.products li.product form.cart,
  .woocommerce ul.products li.product form.cart .quantity,
  .woocommerce ul.products li.product .quantity {
    display: flex;
    justify-content: center;
  }

  /* Select selbst sauber zentrieren */
  .woocommerce ul.products li.product .quantity select,
  .woocommerce ul.products li.product form.cart .quantity select {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 550px) {
	h2.woocommerce-loop-product__title {
		font-size: 25px !important;
	}
}


/* Woocommerce */

.woocommerce ul.products li.owp-content-center .product-inner {
	min-height: 660px;
}

.shopinfo p {
	font-size: 16px;
}

.woocommerce div.product div.images img {
	/*width: 50%;*/
	width: 55%;
	display: inline;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	text-align: center;
}

h2.woocommerce-loop-product__title {
	font-size: 25px;
	text-transform: none;
	font-weight: 500;
  padding-top: 5px;
	margin-bottom: 5px !important;
}

ul.products li.product .wc-product-upper{
	min-height: 110px;
	padding-top: 15px;
}

form select {
	border-radius: 0px !important;
	color: #000 !important;
	border: 1px solid #000 !important;
}

div.quantity {
	min-width: 55px;
}

.woocommerce ul.products li.product .button {
	float: right !important;
}

div.wc-product-lower-col.second {
	margin-top: 10px;
}

ul.products li {
	background-color: var(--farbe-hell);
	padding: 5px !important;
	border: 3px solid #fff;
}

div.wc-product-untertitel,
div.jahrgang {
	font-size: 14px;
}

.insyde-praemierung-archive{
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.2;
	font-weight: 700;
}

div.mwst-versandinfo {
	margin-bottom: 3px;
}

div.insyde-untertitel-jahrgang-archive {
	font-size: 14px;
}

div.insyde-untertitel-jahrgang-archive:hover,
div.insyde-praemierung-archive:hover {
	color: #000 !important;
}

.woocommerce ul.products li.product .price ins {
	font-weight: 700 !important;
}

.woocommerce del {
	opacity: 1 !important;
}

.woocommerce ul.products li.product .price del .amount {
	color: #000 !important;
}


/* Single Product */

div.pramierung.pramierung--single {
	font-weight: 700;
	color: var(--farbe-gelb);
}

div.insyde-produktdetails {
	margin-bottom: 20px;
}

.single .entry-title {
	border-bottom: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: none !important;
}

div#tab-description h2 {
	display: none;
}

.woocommerce div.product .woocommerce-tabs {
	padding-top: 10px !important;
}

span.woocommerce-Price-amount.amount {
	color: var(--farbe-dunkelblau);
}

button.single_add_to_cart_button.button.alt {
	color: var(--farbe-dunkelblau);
}

button.single_add_to_cart_button.button.alt:hover {
	color: #fff;
}

/* Lebensmittelangabe */

body:not(.single-product) .lebensmittelangaben,
section.related.products{
    text-align: right;
}

body.single-product .lebensmittelangaben {
    text-align: left;
}


div.lebensmittelangaben a {
	font-size: 12px;
}

div.lebensmittelangaben {
	padding-bottom: 10px;
}

/* Füllmenge Preis pro Liter Versand */

div.preisproliter,
div.mwst-versandinfo, 
section.related.products div.preisproliter, 
section.related.products div.mwst-versandinfo {
	font-size: 12px;
	text-align: right;
}

body.single-product .preisproliter,
body.single-product .mwst-versandinfo {
    text-align: left;
}

/* Woof Filter */

.woof_container_inner h4 {
	display: none;
}

.woof_container {
    display: flex;
    justify-content: center;
}

.woof_container > * {
    width: auto;
}

.woof_list_label .woof_label_term {
	background-color: var(--farbe-gelb);
  border: 1px solid var(--farbe-gelb);
	padding: 10px 25px;
	font-size: 25px;
  letter-spacing: 1px;
}

.woof_list_label li .woof_label_term:hover,
.woof_list_label li .woof_label_term.checked {
	background-color: #000 !important;
  border: 1px solid #000 !important;
	color: #fff;
}

.woofc-menu-item .woofc-menu-item-inner::after {
	background-color: var(--farbe-dunkelgrau);
}

span.woofc-menu-item-inner-subtotal span.woocommerce-Price-amount.amount {
	font-size: 14px;
  font-weight: 500;
	color: var(--farbe-dunkelblau);
}



/* Woocommerce Messages */

.woocommerce-message::before {
	color: var(--farbe-dunkelblau) !important;
}

.woocommerce-message {
	font-size: 16px !important;
	color: #000 !important;
	border: 1px solid var(--farbe-dunkelblau) !important;
}

a.button.wc-forward {
	padding: 10px 18px !important;
  font-size: 16px !important;
	color: var(--farbe-dunkelblau);
}

/* Warenkorb */

div.wc-block-components-product-metadata__description {
	display: none;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
span.wc-block-formatted-money-amount.wc-block-components-formatted-money-amount.wc-block-components-product-price__value,
div.wc-block-components-totals-shipping,
div.wc-block-components-totals-item 
{
	font-size: 16px;
}

tr.wc-block-cart-items__header,
h2.wp-block-woocommerce-cart-order-summary-heading-block.wc-block-cart__totals-title{
	font-size: 18px !important;
}

.woocommerce-cart .wp-element-button {
	font-size: 16px !important;
}

div.wc-block-components-totals-coupon__content div.wc-block-components-button__text {
	font-size: 12px;
  text-transform: none;
}

span.wc-block-formatted-money-amount.wc-block-components-formatted-money-amount.wc-block-components-product-price__value{
	color: var(--farbe-dunkelblau);
	font-weight: 500;
}

a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained,
div.wc-block-components-button__text {
	color: var(--farbe-dunkelblau);
}

a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover,
div.wc-block-components-button__text:hover,
div.wc-block-cart__submit-container:hover {
	color: #fff !important;
}

a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover > div.wc-block-components-button__text,
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained:hover > div.wc-block-components-button__text
{
	color: #fff !important;
}

div.wc-block-components-checkout-place-order-button__text {
	font-size: 18px;
}

/* Flycart */

.woofc-area.woofc-style-02 .woofc-area-bot .woofc-action .woofc-action-inner > div a {
	background-color: var(--farbe-gelb) !important;
	color: var(--farbe-dunkelblau) !important;
}

.woofc-area.woofc-style-02 .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-qty .woofc-item-qty-inner,
.wc-block-components-quantity-selector {
	border: 1px solid #000;
	border-radius: 1px;
}


/* Produkte Startseite */

#products-startseite ul.products li {
	background-color: #fff;
}

#products-startseite ul.products li a {
	text-decoration: none;
}


@media (max-width: 490px) and (min-width: 350px) {

	/* Cart-Formular untereinander statt nebeneinander */
	.woocommerce ul.products li.product form.cart {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	/* Mengen-Auswahl */
	.woocommerce ul.products li.product form.cart .quantity {
		margin: 0 0 8px 0;
		float: none;
	}

	/* Warenkorb-Button darunter */
	.woocommerce ul.products li.product form.cart button.button {
		width: 100%;
		font-size: 13px;
		padding: 9px 10px;
	}
}



/* Mein Konto */

.woocommerce-MyAccount-content .addresses .woocommerce-Address .title {
	padding: 5px 10px !important;
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address .title h2 {
	font-size: 16px;
  text-transform: none;
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address .title a {
	color: #000 !important;
  font-size: 12px;
	background-color: var(--farbe-gelb) !important;
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address address {
	color: #000 !important;
	font-size: 14px;
}

th.woocommerce-orders-table__header.woocommerce-orders-table__header-order-number,
th.woocommerce-orders-table__header.woocommerce-orders-table__header-order-date,
th.woocommerce-orders-table__header.woocommerce-orders-table__header-order-status,
th.woocommerce-orders-table__header.woocommerce-orders-table__header-order-total,
th.woocommerce-orders-table__header.woocommerce-orders-table__header-order-actions {
	text-transform: none;
  font-size: 16px;
}

tr.woocommerce-orders-table__row.woocommerce-orders-table__row--status-on-hold.order {
	font-size: 14px;
}

.account-original-style .woocommerce #customer_login .lost_password {
	font-size: 16px;
}

.woocommerce .owp-account-links li.or {
	text-transform: none !important;
	border: none !important;
}

/* Related Products */

.woocommerce div.product .related > h2 {
    font-size: 60px;
text-align: center;
	padding-bottom: 15px;
}

@media (max-width: 590px) {
	.woocommerce div.product .related > h2 {
    font-size: 35px;
}
	
	#jugend-desktop{
		padding-left: 20px;
		padding-right: 20px;
	}
}


.woocommerce div.product form.cart {
	padding: 0px !important;
	border-top: none !important;
	border-bottom: none !important;
}

.related.products div.quantity {
    margin-right: 0 !important;
}

/* Danke Seite */

p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
	text-align: center;
  font-size: 40px;
}

ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details,
section.woocommerce-bacs-bank-details {
	background-color: var(--farbe-grau);
	padding: 10px;
}

ul.wc-bacs-bank-details.order_details.bacs_details {
	border-color:  var(--farbe-grau);
}

h2.wc-bacs-bank-details-heading,
h2.woocommerce-order-details__title,
h2.woocommerce-column__title {
	font-size: 35px;
}

h3.wc-bacs-bank-details-account-name {
	font-size: 30px;
  text-transform: none;
  font-weight: 500;
}

section.woocommerce-order-details {
	margin-top: 25px;
	background-color: var(--farbe-grau);
	padding: 10px;
}

section.woocommerce-customer-details {
	margin-top: 25px;
	padding: 10px;
}

th.woocommerce-table__product-name.product-name,
th.woocommerce-table__product-table.product-total {
	background-color: var(--farbe-grau);
}

.woocommerce .shop_table.order_details tfoot th {
	background-color: var(--farbe-grau) !important;
}


/* Filter im Archive */

div.filter-list-wrapper {
    position: relative;
    padding-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    max-width: 100%;
}

.woocommerce ul.filter-list {
    list-style: none !important;
    margin: 0 !important;
}

.woocommerce ul.filter-list li {
    margin: 2px 2px 2px 0;
    display: inline-block !important;
    white-space: nowrap;
}

.woocommerce ul.filter-list li.filter-list-item>a {
    color: #000;
    border-radius: 0px;
    font-size: 20px;
    line-height: 1.4;
    text-transform: uppercase;
    font-weight: 400;
    margin-left: 0.5em;
    background-color: var(--farbe-gelb);
    padding: 5px 10px;
}


.filter-list-item>a {
    margin: 3px 3px 3px 0;
    text-align: center;
    overflow: hidden;
    text-decoration: none;
    cursor: pointer;
    min-width: 50px;
    max-width: 100%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.woocommerce ul.filter-list li.filter-list-item.filter-aktiv > a {
    color: #fff !important;
    background-color: var(--farbe-dunkelgrau) !important;
}