/**
 * Theme Name:     Hello Elementor (OmanBros) Child
 * Author:         Elementor Team, OmanBros.com Team
 * Template:       OmanBros-Theme
 * Text Domain:	   hello-elementor-omanbros-child
 * Description:    A plain-vanilla &amp; lightweight theme for Elementor page builder, modified and adapted for use with OmanBros customers
 */

/* === Montserrat Latin-Ext (HR/SI Sonderzeichen wie č, ć, š, ž, đ) === */
/* Ergänzt die Elementor Custom Fonts. Pfad relativ zur style.css. */

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 100;
    font-display: swap;
    src: url('./fonts/montserrat-v31-latin-ext-100.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url('./fonts/montserrat-v31-latin-ext-200.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('./fonts/montserrat-v31-latin-ext-300.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('./fonts/montserrat-v31-latin-ext-regular.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Montserrat';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('./fonts/montserrat-v31-latin-ext-italic.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('./fonts/montserrat-v31-latin-ext-500.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('./fonts/montserrat-v31-latin-ext-600.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('./fonts/montserrat-v31-latin-ext-700.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('./fonts/montserrat-v31-latin-ext-800.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('./fonts/montserrat-v31-latin-ext-900.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

body{
	max-width: 1600px;
	margin: 0 auto !important;
}

*:focus{
	outline: none !important;
}


/* Home Grid - individuelle Ansicht */
#home-grid .elementor-loop-container {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 1fr;
	gap: 24px;
}
#home-grid .elementor-loop-container.elementor-grid {
	grid-auto-flow: row;
}
#home-grid .elementor-loop-container > .e-loop-item {
	grid-column: span 1;
	grid-row: span 1;
	aspect-ratio: 1;
}

/* Große Items - NUR auf Desktop ab 1025px */
@media (min-width: 1025px) {
  #home-grid .elementor-loop-container > div.e-loop-item:nth-of-type(10n + 1),
  #home-grid .elementor-loop-container > div.e-loop-item:nth-of-type(10n + 8) {
    grid-column: span 2;
    grid-row: span 2;
    aspect-ratio: 1;
  }
}

@media (max-width: 1024px) {
  #home-grid .elementor-loop-container {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: auto !important;
  }
  #home-grid .elementor-loop-container > div.e-loop-item {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
    aspect-ratio: 1 !important;
  }
}

/*
@media (max-width: 767px) {
  #home-grid .elementor-loop-container {
    grid-template-columns: 1fr;
    grid-auto-rows: auto !important;
  }
  #home-grid .elementor-loop-container > div.e-loop-item {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
    aspect-ratio: 4 / 3 !important;
  }
}*/

@media screen and (max-width: 767px) {
    #home-grid .elementor-loop-container {
        grid-template-columns: 1fr !important;
    }

    #home-grid .elementor-loop-container > div.e-loop-item {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
        height: 75vw !important;
        aspect-ratio: unset !important;
    }
}

/* Hover-Content: immer im Layout-Flow, nur visuell ausgeblendet */
#grid-content {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

#home-grid .e-loop-item:hover #grid-content {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Grid Filter Dropdown */

.wpgb-select-dropdown{
	margin: 0 !important;
	padding-top: 0px !important;
	border: solid 1px #707070 !important;
	border-top: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.wpgb-select-dropdown ul{
	padding: 0 10px !important;
}
.wpgb-select-dropdown li{
	padding: 10px 0 !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	border-top: solid 1px #707070 !important;
	color: #858585 !important;
}
.wpgb-select-dropdown li:hover, .wpgb-select-dropdown li.wpgb-focused, .wpgb-select-dropdown ul li[aria-selected=true]{
	background-color: #fff !important;
}
.wpgb-select-dropdown li:first-child{
	border: none !important;
}

/* Produktreferenzen Grid Ansicht */
.product-title {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.grid-item:hover .product-title {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Referenzen Detail Ansicht */

.pm-dl-btn, .cat-buttons .pm-cat-btn{
	background-color: var(--e-global-color-secondary);
    font-family: "Montserrat", Sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1em;
    letter-spacing: 1.4px;
    color: var(--e-global-color-text) !important;
    border-radius: 0px 0px 0px 0px;
    padding: 10px 10px 10px 10px;
}
.pm-dl-icon, .pm-cat-btn-icon{
	margin-left: 4px;
	width: 20px;
}
.pm-dl-text, .pm-cat-btn-text{
	display: inline-block;
}
.material-download,
.material-download .elementor-widget-container,
.cat-buttons,
.cat-buttons .elementor-widget-container{
  line-height: 39px !important;
}

.cat-buttons a{
	margin-right: 20px;
}
.pm-cat-btns{
	text-align: center;
}
.pm-ref-popup-btn:hover{
	background-color: var(--e-global-color-secondary) !important;
}

@media (max-width: 767px) {
	.pm-cat-btns{
		align-items: start !important;
	}
}

/* 3D Download Buttons */

.pm-3d-dl-wrap{
	margin-left: 20px;
}
.pm-3d-dl-icon{
	width: 20px;
	display: none;
}
.pm-3d-modal-icon{
	width: 20px;
}
.pm-3d-dl-btn, .pm-3d-dl-btn:hover, .pm-3d-modal-zipbtn, .pm-3d-modal-zipbtn:hover{
	background-color: var(--e-global-color-secondary) !important;
    font-family: "Montserrat", Sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1em;
    letter-spacing: 1.4px;
    color: var(--e-global-color-text) !important;
    border-radius: 0px 0px 0px 0px;
    padding: 10px 10px 10px 10px;
	height: 39px !important;
}
.pm-3d-modal-close:hover{
	background-color: var(--e-global-color-secondary) !important;
}
.pm-dl-wrap a:not(:first-child){
	margin-left: 20px;
}

/* Popup Fix */

.pm-ref-popup-overlay ul{
	padding: 0 !important;
	list-style-type: none !important;
}


/* === [pm_downloads] Shortcode Buttons === */

.pm-dl-buttons{
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}

.pm-dl-btn,
.pm-dl-btn:hover,
.pm-dl-btn:focus,
.pm-dl-btn:active{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    font-family: "Montserrat", Sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1em !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    border: 0 !important;
	height: 39px;
}

.pm-dl-btn-text{
    display: inline-block;
}

.pm-dl-btn-icon{
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    -webkit-mask-image: url('/wp-content/uploads/2026/02/Download.svg');
            mask-image: url('/wp-content/uploads/2026/02/Download.svg');
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    flex-shrink: 0;
}

/* Dark Variante (Default) — grauer Hintergrund, weiße Schrift + Icon */
.pm-dl-btn--dark,
.pm-dl-btn--dark:hover,
.pm-dl-btn--dark:focus,
.pm-dl-btn--dark:active{
    background: #858585 !important;
    color: #fff !important;
}
.pm-dl-btn--dark .pm-dl-btn-text{ color: #fff !important; }

/* Light Variante — weißer Hintergrund, schwarze Schrift + Icon, kein Border */
.pm-dl-btn--light,
.pm-dl-btn--light:hover,
.pm-dl-btn--light:focus,
.pm-dl-btn--light:active{
    background: #fff !important;
    color: #000 !important;
}
.pm-dl-btn--light .pm-dl-btn-text{ color: #000 !important; }


/* --- Mobil ÄNDERUNGEN --- */

/* Referenz Popup */

@media only screen and (max-width: 767px){
.pm-ref-popup-overlay .pm-ref-popup-btn-close{
	    top: 20px;
        right: calc(50vw - 20px);
}
}

/* Datenschutz */

.datenschutz h2{
	margin-top: 30px;
	font-size: 24px;
}