/**
* Theme Name: Gainlove2 Child
* Description: This is a child theme of Gainlove2, generated by Merlin WP.
* Author: <a href="http://themelexus.com/">Themelexus</a>
* Template: gainlove2
* Version: 2.0.17
*/

.elementor-widget-container .elementor-brand-wrapper .swiper .swiper-wrapper{
 	  align-items-content: center !important;
}

.elementor-widget-container .elementor-brand-wrapper .swiper .swiper-wrapper .elementor-brand-item .elementor-brand-image a img{
     width: auto !important;
	  height: auto !important;
		max-height: 100px !important;
} 

.elementor-widget-container .elementor-brand-wrapper .swiper .swiper-wrapper{
 	  align-items-content: center !important;
}

.elementor-widget-container .elementor-brand-wrapper .swiper .swiper-wrapper .elementor-brand-item .elementor-brand-image a img{
     width: auto !important;
	  height: auto !important;
		max-height: 100px !important;
}

.elementor-posts-item.swiper-slide .entry-content h3 a, .site-main .post-content header h3 a{
	text-transform:none !important;
}

.site-content .content-area .site-main #comments{
	display:none !important;
	opacity: 0! important;
	visibility:hidden !important;
}

.elementor-grid article .post-thumbnail .post-meta{
		display:none !important;
	opacity: 0! important;
	visibility:hidden !important;
}

nav .primary-navigation .sub-menu a .menu-title{
	text-transform:none;
}

nav .primary-navigation .sub-menu{
	min-width:274px;
}

.main-navigation ul.menu ul.sub-menu > li.menu-item, .main-navigation ul.nav-menu ul.sub-menu > li.menu-item {
        margin-bottom: 10px !important;
    }

main article .elementor-element p img{
	    border-top-right-radius: 30px;
    border-bottom-left-radius: 30px;
	margin-right:35px !important;
}



/* =========================================================
   OpenCore – [materialy] shortcode — download buttons na program stránkach
   ========================================================= */

/* oc-res — vzdelávacie materiály na program stránkach */

.oc-res-list {
  width: 100%;
  max-width: 680px;
  border-radius: 0 40px 0 40px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0,0,0,.08);
}

a.oc-res-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  text-decoration: none;
  color: #1a1a1a;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.08);
  transition: background .15s ease;
}

a.oc-res-row:last-child {
  border-bottom: none;
}

a.oc-res-row:hover {
  background: #fffaf3;
}

.oc-res-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #FF9F0D;
  color: #fff;
  font-size: 14px;
}

.oc-res-title {
  flex: 1;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.3;
  color: #1a1a1a;
}

.oc-res-action {
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 500;
  color: #FF9F0D;
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.oc-res-more {
  margin-top: 14px;
}

.oc-res-more-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #FF9F0D;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: border-color .2s ease;
}

.oc-res-more-link:hover {
  border-color: #FF9F0D;
  color: #FF9F0D;
}

/* =========================================================
   OpenCore – Vzdelávacie materiály [oc_materials]
   Jeden dizajnový systém: sidebar + tabuľka = rovnaký vizuálny jazyk
   ========================================================= */

/* ── Outer layout ── */
.oc-materials-wrap{
  display:flex;
  gap:24px;
  align-items:flex-start;
  max-width:1290px;
  margin:0 auto;
}

/* ── Filter sidebar ──
   Rovnaký vizuálny štýl ako tabuľka:
   border, radius 0 24px 0 24px, biela karta
*/
.oc-materials-filters{
  width:260px;
  flex:0 0 260px;
  box-shadow:0 2px 16px rgba(0,0,0,.08);
  border-radius:0 24px 0 24px;
  background:#fff;
  overflow:hidden;
  position:sticky;
  top:110px;
}

/* Filter body — contains groups */
.oc-filter-body{
  padding:18px 18px 4px;
}

/* Každá sekcia sidebar-a */
.oc-filter-group{
  margin:0 0 18px;
}

/* Nadpisy sekcií — rovnaký štýl ako hlavičky tabuľky */
.oc-filter-title{
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#aaa;
  margin:0 0 10px;
}

/* Oddeľovač medzi sekciami */
.oc-filter-divider{
  height:1px;
  background:rgba(0,0,0,.06);
  margin:0 0 18px;
}

/* Checkboxy */
.oc-check{
  display:flex;
  gap:9px;
  align-items:flex-start;
  margin:7px 0;
  line-height:1.3;
  font-size:14px;
  cursor:pointer;
  color:#1a1a1a;
}

.oc-check input[type="checkbox"]{
  margin-top:3px;
  flex-shrink:0;
  appearance:none;
  -webkit-appearance:none;
  width:15px;
  height:15px;
  border:1.5px solid rgba(0,0,0,.2);
  border-radius:3px;
  background:#fff;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease;
  position:relative;
}

.oc-check input[type="checkbox"]:checked{
  background:#FF9F0D;
  border-color:#FF9F0D;
}

.oc-check input[type="checkbox"]:checked::after{
  content:'';
  position:absolute;
  top:2px;
  left:4px;
  width:4px;
  height:7px;
  border:2px solid #fff;
  border-top:none;
  border-left:none;
  transform:rotate(45deg);
}

/* Sort select — plná šírka v sidebar-e */
.oc-sort-select{
  width:100%;
  padding:9px 12px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:8px;
  background:#fff;
  font-size:14px;
  color:#1a1a1a;
  font-weight:500;
  cursor:pointer;
  transition:border .2s ease, box-shadow .2s ease;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23aaa'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  padding-right:32px;
}

.oc-sort-select:focus{
  outline:none;
  border-color:#FF9F0D;
  box-shadow:0 0 0 2px rgba(255,159,13,.12);
}

/* Divider pred actions — inset, rovnaký ako ostatné dividers */
.oc-filter-divider--pre-actions{
  margin-bottom:0;
}

/* Actions — spodok sidebar-a */
.oc-materials-actions{
  padding:14px 18px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

/* Filtrovať button — plná šírka, theme default radius */
.oc-materials-actions button{
  width:100%;
  padding:12px 16px;
  border:0;
  border-radius:0 100px 100px 100px;
  cursor:pointer;
  background:#FF9F0D;
  color:#fff;
  font-weight:600;
  font-size:14px;
  letter-spacing:.5px;
  text-transform:uppercase;
  transition:background .2s ease, transform .15s ease;
}

.oc-materials-actions button:hover{
  background:var(--e-global-color-secondary, #333);
  transform:translateY(-1px);
}

/* Zrušiť filtre */
.oc-materials-reset{
  text-align:center;
  text-decoration:underline;
  color:#aaa;
  font-size:13px;
  font-weight:500;
}

.oc-materials-reset:hover{
  color:#555;
}

/* ── Results side ── */
.oc-materials-results-wrap{
  flex:1;
  min-width:0;
}

.oc-materials-results{
  min-width:0;
}

/* ===== TABLE VIEW ===== */
/* Wrapper — signature alternating corners + jemný border ako filter sidebar */
.oc-mat-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  box-shadow:0 2px 16px rgba(0,0,0,.08);
  border-radius:0 24px 0 24px;
  overflow:hidden;
  font-size:14px;
}

/* Header — mierne stlmená typografia */
.oc-mat-th{
  padding:10px 16px;
  text-align:left;
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#bbb;
  white-space:nowrap;
}

.oc-mat-th--action{ width:130px; text-align:right; }
.oc-mat-th--type  { width:70px; }

/* Zruš všetky globálne borders z parent theme */
.oc-mat-table tr,
.oc-mat-table td,
.oc-mat-table th{
  border:none !important;
}

/* Inset separator pod hlavičkou — rovnaká technika ako riadky, len trochu tmavší */
.oc-mat-table thead tr{
  background-image:linear-gradient(rgba(0,0,0,.09), rgba(0,0,0,.09));
  background-size:calc(100% - 32px) 1px;
  background-position:16px 100%;
  background-repeat:no-repeat;
}

/* Inset separátor: gradient na tr, 16px od každého okraja */
.oc-mat-row{
  transition:background .12s ease;
}

.oc-mat-row:not(:last-child){
  background-image:linear-gradient(rgba(0,0,0,.06), rgba(0,0,0,.06));
  background-size:calc(100% - 32px) 1px;
  background-position:16px 100%;
  background-repeat:no-repeat;
}

.oc-mat-row:hover{
  background-color:#fffaf3;
}

.oc-mat-td{
  padding:10px 16px;
  vertical-align:middle;
}

.oc-mat-td--action{
  text-align:right;
}

/* Názov — ľahší, nepreráža ostatný obsah */
.oc-mat-name-link{
  font-weight:500;
  font-size:14px;
  color:#1a1a1a;
  text-decoration:none;
  line-height:1.35;
}

.oc-mat-name-link:hover{
  color:#FF9F0D;
}

/* Typ badge */
.oc-mat-type{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:2px 7px;
  border-radius:999px;
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
}

.oc-mat-type--pdf{
  background:rgba(255,159,13,.10);
  color:#b86e00;
}

.oc-mat-type--url{
  background:rgba(0,0,0,.05);
  color:#666;
}

/* Chips in table */
.oc-mat-td--program .oc-chip,
.oc-mat-td--tema .oc-chip{
  margin:2px 3px 2px 0;
  white-space:nowrap;
}

/* Akčný button — kompaktnejší, rovnaká pevná šírka pre Stiahnuť aj Otvoriť */
.oc-mat-dl-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:120px;
  padding:8px 12px;
  border-radius:0 100px 100px 100px;
  border:none;
  background:#FF9F0D;
  color:#fff !important;
  font-size:12px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
  letter-spacing:.3px;
  text-transform:uppercase;
  transition:opacity .15s ease;
}

.oc-mat-dl-btn:hover{
  background:var(--e-global-color-secondary, #333);
  color:#fff !important;
}

/* Chips (shared) */
.oc-chip{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  font-size:12px;
}

.oc-chip--muted{
  opacity:.85;
}

/* Loading (AJAX) */
.oc-loading{
  opacity:.55;
  pointer-events:none;
}

/* .oc-results-bar removed — sort is now inside the filter sidebar */

/* Responsive — mobile */
@media (max-width: 768px){
  .oc-materials-wrap{ flex-direction:column; }
  .oc-materials-filters{
    width:100%;
    flex:auto;
    position:static; /* zruší sticky na mobile */
  }

  .oc-mat-table, .oc-mat-table thead, .oc-mat-table tbody,
  .oc-mat-th, .oc-mat-td, .oc-mat-row{
    display:block;
  }
  .oc-mat-table thead{ display:none; }
  .oc-mat-row{
    padding:14px 16px;
    border-bottom:1px solid rgba(0,0,0,.07);
  }
  .oc-mat-td{
    padding:4px 0;
  }
  .oc-mat-td--action{
    padding-top:10px;
  }
  .oc-mat-dl-btn{
    width:auto;
  }
}

/* ====================================================== */
main article .single-content .entry-taxonomy .pbr-social-share{
		display:none !important;
	opacity: 0! important;
	visibility:hidden !important;
}

main article .single-content .entry-taxonomy:before{
		display:none !important;
	opacity: 0! important;
	visibility:hidden !important;
}

main article .single-content .post-thumbnail{
	padding-bottom: 20px;
}


main article .single-content .entry-content h2{
	margin-top: 0.8em !important;
}

main article .single-content .entry-content .wp-block-image{
	margin-top: 1.4em !important;
}

main article .single-content .entry-content .wp-block-embed{
	margin-top: 1.4em !important;
}

/* Vzdelávacie materiály – button row */
.oc-mat-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 20px;
}
.oc-mat-btn {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-align: center;
	padding: 18px 24px;
	background-color: var(--e-global-color-primary, #e8922a);
	color: #fff !important;
	border-radius: 4px 30px 4px 30px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	transition: opacity 0.2s;
}
.oc-mat-btn i {
	font-size: 20px;
	display: block;
}
.oc-mat-btn span {
	display: block;
}
.oc-mat-btn:hover {
	opacity: 0.85;
	color: #fff !important;
}

/* Testimonial: position on new line below name, centered */
.gainlove2-testimonial-layout-2 .details {
	flex-direction: column !important;
	align-items: center !important;
}

/* Image-box card: max-width so image fills it naturally */
.elementor-widget-image-box,
.elementor-image-box-wrapper {
	max-width: 465px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	background-color: #ffffff !important;
}

/* Image fills full card width */
.elementor-image-box-wrapper .elementor-image-box-img {
	width: 100% !important;
	display: block !important;
}
.elementor-image-box-wrapper .elementor-image-box-img img {
	width: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* oc-story-card: the card itself (image + text) has white bg, rounded corners, shadow */
.oc-story-card .e-con-inner {
	background-color: #ffffff;
	border-radius: 0 40px 0 40px;
	overflow: hidden;
	box-shadow: 0 2px 30px rgba(0,0,0,.08);
}

/* oc-story-image: image fills full height of card */
.oc-story-image,
.oc-story-image > .elementor-widget-container {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	align-self: stretch;
}
.oc-story-image .gainlove2-wrapper-image-widget {
	flex: 1;
	width: 100%;
	height: 100%;
	display: block;
	overflow: hidden;
}
.oc-story-image .gainlove2-wrapper-image-widget img {
	width: 100%;
	height: 100%;
	min-height: 300px;
	object-fit: cover;
	display: block;
}

