/*
	Theme Name: Rehub child DE
	Theme URI: https://wpsoul.com
	Description: A Hybrid magazine/shop/review/news Wordpress Theme
	Author: Sizam
	Author URI: https://wpsoul.com
	Version: 19
	Template: rehub-theme
*/

/* =Theme customization starts here
-------------------------------------------------------------- */
/*GLOBAL*/
/* Arial wszędzie - wydajne rozwiązanie */
body {
    font-family: Arial, sans-serif !important;
}
/* Elementy które nie dziedziczą z body */
input, textarea, select, button {
    font-family: Arial, sans-serif !important;
}

/*focus*/
*:focus-visible {
outline: orange 4px solid !important;
}


/* STYLES FOR NEW TEMPLATES */
/* === Category Description Section Styles === */
.category-description-section {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    border-left: 4px solid #3b82f6;
}

.category-title {
    color: #1f2937;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 1rem 0;
}

.cat-description-toggle {
    max-width: 100%;
}

.cat-description-content {
    max-height: 9.2em;
    line-height: 1.7em;
    overflow: hidden;
    transition: max-height 0.4s ease;
    color: #374151;
}

.cat-description-content.expanded {
    max-height: none;
}

.toggle-button {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
    color: white;
    cursor: pointer;
    font-weight: 600;
    margin-top: 12px;
    padding: 8px 16px;
    border-radius: 6px;
    transition: all 0.3s ease;
    font-size: 0.9rem;
}

.toggle-button:hover {
    background: linear-gradient(135deg, #5a67d8 0%, #6b46a3 100%);
    transform: translateY(-1px);
}

/* Additional Category Description */

.category-description-section ul {
  list-style: disc outside;
  margin-bottom: 25px;
  padding-left: 1.5rem;
}

.category-description-section p {
margin: 0 0 31px 0;
}

/* === No Posts Message === */
.no-posts-message {
    text-align: center;
    padding: 3rem 1rem;
    color: #666;
}

.no-posts-message h2 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: #333;
}


/* HOMEPAGE i PROGRAMS */
.homepage-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

.page-header {
    text-align: center;
    margin-bottom: 3rem;
}

.page-title {
    font-size: 2.5rem;
    color: #333;
    margin: 0;
    font-weight: 700;
}

.posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

@media (max-width: 1024px) {
    .posts-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 768px) {
    .posts-grid {
        grid-template-columns: 1fr;
    }
}

.post-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.post-card-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.post-card-image {
    height: 200px;
    overflow: hidden;
    background-color: #f5f5f5;
}
.card-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.placeholder-image {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eee;
    color: #888;
}

.post-card-content {
    padding: 1.25rem;
    flex-grow: 1;
}

.post-card-title {
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
}

.post-card-date {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 1rem;
}

.post-card-excerpt {
    font-size: 1rem;
    color: #444;
    line-height: 1.6;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
}

.pagination-wrapper {
    display: flex;
    justify-content: center;
    margin: 3rem 0 2rem 0;
    padding: 0 1rem;
}

.pagination-wrapper .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0 auto;
}

.pagination-wrapper .page-numbers li {
    list-style: none;
    margin: 0;
}

.pagination-wrapper .page-numbers a,
.pagination-wrapper .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.85rem;
    background: #f0f0f0;
    color: #333;
    border-radius: 8px;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.3s ease;
    min-width: 40px;
    height: 40px;
}

.pagination-wrapper .page-numbers a:hover {
    background: #dbeafe;
    color: #1d4ed8;
    transform: translateY(-1px);
}

.pagination-wrapper .page-numbers .current {
    background: #3b82f6;
    color: #fff;
    font-weight: bold;
}

.pagination-wrapper .page-numbers .prev,
.pagination-wrapper .page-numbers .next {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    font-weight: bold;
    border: none;
}

.pagination-wrapper .page-numbers .prev:hover,
.pagination-wrapper .page-numbers .next:hover {
    background: linear-gradient(135deg, #5a67d8 0%, #6b46a3 100%);
    color: #fff;
    transform: translateY(-1px);
}


.pagination-wrapper ul, .pagination-wrapper ul li {
  border: none !important;
}

/* FROM site origin */


/*HEADER*/
/*languages selector color and separator top */
.header-top .top-nav > ul > li:last-child {
    border-left: 1px solid #fff;
}

.header-top .top-nav a {
  color: #fff !important;
}
/* style for the tagline in the header */
.tagline-maddownload {
font-weight: bold;
color: white;
font-size: 15px;
line-height:20px;
letter-spacing: 0px;
margin: 0px;
font-family: Arial;
}

.logo_image_mobile img {
    max-height: none !important;
    max-width: none !important;
}

/* END HEADER*/

/* BOX INFORMACJE   */

/* wyrownanie do lewej naglowkow i opisow elementow w boksie z metadanymi */

.wpsm_spec_meta_label, .wpsm_spec_meta_value {
       text-align: left;}
       
/*link do strony*/
   span.wpsm_spec_meta_value_s a  {
    color: #666666;
    border: 1px solid #ddd;
    padding: 2px 8px;
    margin: 0 4px 8px 0;
    display: inline-block;
}
       
 /* ikona ptaszka */
.rhi-check {
color: #1D6600;
}
/* fix for table layout */
.wpsm_spec_meta_row {
    display: table;
    width: 100%;
    font-size: 15px;
    line-height: 18px;
}

.wpsm_spec_meta_label {
    display: table-cell;
    width: 30%;
    font-weight: bold;
    padding: 5px;
}

.wpsm_spec_meta_value {
    display: table-cell;
    width: 70%;
    padding: 5px;
    word-break: break-word;
}
.specdivider {
    height: 1px;
    width: 100%;
    background-color: #ededed;
    margin: 10px 0;
    clear: both;
}

.wpsm_spec_meta_value_icon {
    font-size: 20px;
    margin: 0 5px;
}
       
/* FORMULARZE */
/* nadpisuje style Rehub width: 100%, ktory sprawial ze checkbox zajmowal cala szerokosc wiersza i byl nad tekstem w formularzu Contact Form 7 */
.wpcf7 input {
  width: auto;
}
/* czerwona gwiazdka na końcu treści czekboksa, ktory jest wymagany*/
span.wpcf7-list-item-label::after {
content: " *";
color:red;
}

/*  TOP LISTA */
/*  kolko i tytul sa w jednej linii */
.title_column {
	display: table-cell;
	vertical-align: top;
}
/* kolko wokol liczby */
.circle_around_number {
    border-radius: 100px;
    background: red;
	position: relative;
	width: 49px;
	height: 49px;
	text-align: center;
	margin-right: 24px;
	margin-bottom: 24px;
}
/*  liczba w kolku */
.number_in_circle {
	color: #fff;
	position: absolute;
	left: 1px;
	right: 0;
	top: 50%;
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	 transform: translateY(-50%);
	font-size: 30px;
    font-weight: bold;
 }
/*  tytuł gry na liscie */
.top_list_item_title {
	font-size: 20px;
	line-height: 1.4;
}
/*  ramka i tło wokol boksa informacyjnego */
.top_list_item_info {
  background: #eee; 
  border: solid 1px #1D6600;
  }
/* marginesy dla pierwszego elementu listy */
.wpsm_pretty_list ul li:first-child {
    margin: 5px 0px 0px 10px !important;
   }
/* marginesy dla niepierwszego i nieostatniego elementu listy*/

.wpsm_pretty_list ul li{
    margin: 0px 0px 0px 10px !important;
    }
/* marginesy dla ostatniego elementu listy*/
.wpsm_pretty_list ul li:last-child {
    margin: 0px 0px 5px 10px !important;
    }
/* zmiana strzałki przy bulletliscie na raquo i margines*/
.wpsm_arrowlist ul li:before {
content: "\00BB" !important;
  margin: 8px 0px 0px 0px !important;
	color: black !important;
}

/* POST */

/* drop caps */
article.type-post > p:first-of-type::first-letter,
article.top_rating_text p:first-of-type::first-letter {
  font-size: 6.9em;
  color: #1D6600;
  font-family: Georgia, serif;
  line-height: 0.6;
  float: left;
  padding-right: 10px;
  margin-top: 0.1em;
}


article.post p a:hover, li a:hover {
    color: #D60C0C;
    text-decoration: underline;    
}

/* hide no widgets info */
.sidebar {
display:  none;
}

/* custom table in articles*/
 .custom-table {
    width: 100%;
    border-collapse: collapse;
    border: 2px solid #1d6600;
    margin-bottom: 20px;
  }

  .custom-table th, .custom-table td {
    border: 1px solid #1d6600;
    padding: 8px;
    text-align: left;
  }

  .custom-table th {
    background-color: #1d6600;
    color: white;
  }

  .custom-table tr:nth-child(even) {
    background-color: #f2f2f2;
  }


/* REVIEW BOX */
/* corrected marks, done for AMP in theme options*/
.overall-score .r_score_1, .overall-score .r_score_2 
{ 
background-color: #940000;
}
.overall-score .r_score_3, .overall-score .r_score_4
{
background-color: #cc0000;
}
.overall-score .r_score_5, .overall-score .r_score_6
{
background-color: #ffac00;
}
.overall-score .r_score_7, .overall-score .r_score_8
{
background-color: #9c0;
}
.overall-score .r_score_9, .overall-score .r_score_10
{
background-color: #390;
}
/*Pros and cons */

.wpsm_pros ul li:before, .wpsm_pros .title_pros  {
color: darkgreen;
}
.wpsm_cons .title_cons, .wpsm_cons ul li:before {
color: #D60C0C; }

/*OFFER BOX*/
/* text */
.greycolor {
    color: #333;
}
/*download button*/
.rh_listcolumn_btn .priced_block .btn_offer_block {
transform: translate(-70px, 10px) scale(1.82);
background-image: linear-gradient(45deg, green, red) !important;
}

/* RELATED ARTICLES */
.content_constructor h2 a, .content_constructor h2 a:hover {
color: #D60C0C !important;
}


/*REKLAMA*/
.google-auto-placed {
font-size: 11px;
font-family: "Arial",sans-serif;
font-style: italic;
color: #bbb;
}

.google-auto-placed::before {
content: "Werbung";
}

.code-block-label {
	font-size: 11px;
	font-style: italic;
	color: #ccc;
	text-align: center;
	}

/* bottom & vignette */
ins.adsbygoogle.adsbygoogle-noablate::before, #ad_position::before {
    content: "Werbung";
    position: absolute;
    top: 12px;
    left: 12px;
		font-size: 11px;
		font-family: "Arial",sans-serif;
		font-style: italic;
		color: #bbb;
		z-index: 99999;
}

/* DL page  */
	
div.adsense-block-0::before, div.adsense-block-1::before, div.adsense-block-2::before, div.adsense-block-info-2::before {
		content: "Werbung";
		font-size: 11px;
		font-family: "Arial",sans-serif;
		font-style: italic;
		color: #bbb;
		z-index: 99999;
}



/* === CLS: rezerwacja miejsca na bloki Ad Inserter (2026-10-23) ===
   Bloki 3/4/5 (po 2., 4. i 7. akapicie) startowaly z wysokoscia 0
   i rosly do ~308px po zaladowaniu reklamy, przesuwajac tresc. */
.code-block-3,
.code-block-4,
.code-block-5 {
    min-height: 308px;
}
/* Gdy AdSense nie wypelni slotu, nie zostawiaj pustej dziury */
.code-block:has(ins.adsbygoogle[data-ad-status="unfilled"]) {
    min-height: 0;
}

/* === CLS: rezerwacja miejsca na reklame Auto ads w naglowku (2026-10-23) ===
   Google wstawia ja jako ostatni element #main_header (ok. 302 px).
   Placeholder znika w tej samej chwili, w ktorej pojawia sie reklama,
   wiec tresc ponizej nie przeskakuje. */
#main_header::after {
    content: "";
    display: block;
    height: 302px;
}
#main_header:has(> .google-auto-placed)::after {
    display: none;
}

/* === Tagline H1 widoczny na mobile (2026-10-24) === */
@media (max-width: 1024px) {
    .logo_section_wrap.hideontablet { display: block !important; }
    .logo_section_wrap .logo-section > *:not(.rhsloganlogo) { display: none !important; }
    .logo_section_wrap .rhsloganlogo { float: none; margin: 0; padding: 6px 12px; text-align: center; }
    .logo_section_wrap h1.tagline-maddownload { font-size: 13px; line-height: 18px; margin: 0; }
}

/* Stopka: wieksze pola dotyku na telefonach (PageSpeed: docelowe elementy dotykowe), 2026-10-31 */
@media (max-width: 767px) {
    .footer_most_bottom a.inlinestyle {
        display: inline-block;
        min-height: 48px;
        line-height: 24px;
        padding: 12px 10px;
        margin: 0 4px !important;
    }
}
