/**
 * Theme Name:     GeneratePress Child
 * Author:         Tom Usborne
 * Template:       generatepress
 * Text Domain:	   generatepress-child
 * Description:    GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
 */

.bei_childrens {
	padding: 0px 15px 30px 15px;
}

#breadcrumbs {
	margin-left: 30px;
	font-size: 16px;
}

.wtfaq-question-body {
    border-bottom: 1px solid 
		rgba(77, 77, 77, 1);
}

.wtfaq-question-body::after {
    color:  rgba(77, 77, 77, 1);
}

.wtfaq {
    padding: 30px 30px 30px 30px;
		background-color: #f9f9f9;
}

.wtfaq-question-answer {
	font-size: 19px;
}

.wtfaq-question-body {
  border-bottom: 1px solid 
  rgb(86, 110, 61);
}

.wtfaq-question-answer {
    font-size: 18px;
}
	
#wtfaq-question-body .h3 {
		font-size: 15px;
	}

#toc_container {
	  padding: 25px 25px 15px;
    border: 0px solid #566e3d;
		background: #f9f9f9;
}

#toc_container p.toc_title {
    text-align: left;
    font-weight: 700;
	  font-size: 20px;
    margin: 0;
    padding: 0;
		color: #f23f0a;
}

#toc_container a {
    text-decoration: none;
    text-shadow: none;
		color: #243b53;
    box-shadow: inset 0 0 0;
		rgba(78, 168, 222, 1);
		transition: .2s;
		font-size: 100%;
		line-height: 1.5;
}

#toc_container li:before {
		content: "» ";
}

.posty {
	max-width: 1280px;
	margin: auto;
	padding: 30px 30px 30px 30px;
}

.posty h3 {
	font-weight: 600;
	font-size: 18px;
}

.author-description {
    margin-bottom:5px;
}

.author-box {
    padding: 4%;
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
	background-color: #fafafa;
}

.author-box a {
    border-bottom: 2px solid rgba(45, 130, 230, 0.4);
}

.author-box .avatar {
    width: 40px;
    border-radius: 100%;
    margin-right: 20px;
}
h5.author-title {
    margin-bottom: 0.5em;
	  font-size:1.5em;
}

.gp-ad-slot {
  padding: 20px;
}
.gp-ad-wrap {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
.gp-ad {
  display: flex;
  align-items: center;
  justify-content: center;
}
.desktop-ad { display: block; }
.mobile-ad { display: none; }

/* Mobile switch */
@media (max-width: 768px) {
  .gp-ad-slot { padding: 10px 12px; }
  .desktop-ad { display: none; }
  .mobile-ad { display: block; }
  .gp-ad-wrap { max-width: 100%; }
}

/* =====================================================
   BPP – biuropaszportowe.pl | Placówka styles
   Prefix: .bpp-placowka  (izolowany od motywu)
   ===================================================== */
 
.bpp-placowka {
	--bpp-green:        #2e7d32;
	--bpp-green-mid:    #388e3c;
	--bpp-green-light:  #e8f5e9;
	--bpp-green-accent: #43a047;
	--bpp-text:         #1a2310;
	--bpp-text-mid:     #3d4e38;
	--bpp-text-muted:   #6b7c64;
	--bpp-border:       #c8e6c9;
	--bpp-white:        #ffffff;
	--bpp-radius:       12px;
	--bpp-shadow:       0 2px 14px rgba(46, 125, 50, 0.08);
	--bpp-shadow-hover: 0 6px 24px rgba(46, 125, 50, 0.15);
 
	max-width: 860px;
	margin: 0 auto;
	padding: 0 0 48px;
	/* font-family dziedziczona z GeneratePress */
	color: var(--bpp-text);
	box-sizing: border-box;
}
 
.bpp-placowka *,
.bpp-placowka *::before,
.bpp-placowka *::after {
	box-sizing: inherit;
}
 
/* ── Header ── */
.bpp-placowka__header {
	background: linear-gradient(135deg, var(--bpp-green) 0%, var(--bpp-green-mid) 100%);
	border-radius: var(--bpp-radius);
	padding: 32px 36px;
	margin-bottom: 20px;
	box-shadow: 0 4px 24px rgba(46, 125, 50, 0.22);
	position: relative;
	overflow: hidden;
}
 
.bpp-placowka__header::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E") repeat;
	pointer-events: none;
}
 
.bpp-placowka__header-inner {
	display: flex;
	align-items: center;
	gap: 24px;
	position: relative;
	z-index: 1;
}
 
.bpp-placowka__herb {
	flex-shrink: 0;
	width: 80px;
	height: 80px;
	background: var(--bpp-white);
	border-radius: 10px;
	padding: 8px;
	box-shadow: 0 2px 12px rgba(0,0,0,0.18);
	display: flex;
	align-items: center;
	justify-content: center;
}
 
.bpp-placowka__herb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
 
.bpp-placowka__pretitle {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.65);
	margin: 0 0 4px;
}
 
.bpp-placowka__title {
	font-size: clamp(20px, 3.5vw, 30px);
	font-weight: 700;
	color: var(--bpp-white);
	margin: 0 0 10px;
	line-height: 1.2;
}
 
.bpp-placowka__badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: rgba(255,255,255,0.14);
	border: 1px solid rgba(255,255,255,0.22);
	color: rgba(255,255,255,0.88);
	font-size: 12px;
	padding: 3px 10px;
	border-radius: 20px;
	text-decoration: none;
}
 
.bpp-placowka__badge--link:hover {
	background: rgba(255,255,255,0.24);
	color: #ffffff;
}
 
/* ── Info Grid ──
   Wiersz 1: adres (lewo) | godziny (prawo)
   Wiersz 2: telefon (cała szerokość)
   ──────────────────────────────────────── */
.bpp-placowka__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 20px;
}
 
.bpp-placowka__card {
	background: var(--bpp-white);
	border: 1px solid var(--bpp-border);
	border-radius: var(--bpp-radius);
	padding: 20px 22px;
	display: flex;
	gap: 14px;
	align-items: flex-start;
	box-shadow: var(--bpp-shadow);
	transition: box-shadow 0.2s, transform 0.2s;
}
 
.bpp-placowka__card:hover {
	box-shadow: var(--bpp-shadow-hover);
	transform: translateY(-2px);
}
 
.bpp-placowka__card--full {
	grid-column: 1 / -1;
}
 
.bpp-placowka__card-icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	background: var(--bpp-green-light);
	border-radius: 9px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--bpp-green);
}
 
.bpp-placowka__card-label {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: var(--bpp-green);
	margin-bottom: 6px;
}
 
.bpp-placowka__card-value {
	font-size: 14.5px;
	color: var(--bpp-text);
	margin: 0;
	line-height: 1.6;
}
 
.bpp-placowka__card-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 8px;
	font-size: 12px;
	font-weight: 600;
	color: var(--bpp-green);
	text-decoration: none;
}
 
.bpp-placowka__card-link:hover {
	text-decoration: underline;
}
 
.bpp-placowka__phone-link {
	display: block;
	font-size: 22px;
	font-weight: 700;
	color: var(--bpp-text);
	text-decoration: none;
	transition: color 0.15s;
	line-height: 1.3;
}
 
.bpp-placowka__phone-link:hover {
	color: var(--bpp-green);
}
 
/* ── Godziny otwarcia ── */
.bpp-placowka__hours {
	width: 100%;
	margin-top: 2px;
}
 
.bpp-placowka__hours-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 5px 6px;
	border-radius: 5px;
	font-size: 13px;
	line-height: 1.5;
}
 
.bpp-placowka__hours-row--today {
	background: var(--bpp-green-light);
	font-weight: 700;
}
 
.bpp-placowka__hours-day {
	color: var(--bpp-text-mid);
	min-width: 100px;
}
 
.bpp-placowka__hours-row--today .bpp-placowka__hours-day {
	color: var(--bpp-green);
}
 
.bpp-placowka__hours-time {
	color: var(--bpp-text);
}
 
.bpp-placowka__hours-time--closed {
	color: var(--bpp-text-muted);
}
 
.bpp-placowka__hours-raw {
	font-size: 13px;
	color: var(--bpp-text);
	margin: 0;
	padding: 3px 0;
}
 
/* ── Treść główna ── */
.bpp-placowka__content {
	background: var(--bpp-white);
	border: 1px solid var(--bpp-border);
	border-radius: var(--bpp-radius);
	overflow: hidden;
	box-shadow: var(--bpp-shadow);
}
 
.bpp-placowka__content::before {
	content: '';
	display: block;
	height: 4px;
	background: linear-gradient(90deg, var(--bpp-green), var(--bpp-green-accent));
}
 
.bpp-placowka__content-inner {
	padding: 28px 32px;
}
 
.bpp-placowka__content-inner p,
.bpp-placowka__content-inner li {
	font-size: 15px;
	line-height: 1.75;
	color: var(--bpp-text-mid);
}
 
.bpp-placowka__content-inner h2,
.bpp-placowka__content-inner h3 {
	color: var(--bpp-text);
	font-size: 18px;
	margin-top: 24px;
}
 
/* ── Zgłoś błędne dane ── */
.bpp-placowka__report-wrap {
	margin-bottom: 20px;
}
 
.bpp-placowka__report-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	font-size: 11px;
	color: var(--bpp-text-muted);
	text-decoration: none;
	border: 1px solid var(--bpp-border);
	border-radius: 20px;
	transition: color 0.15s, border-color 0.15s;
}
 
.bpp-placowka__report-link::before {
	content: '⚑';
	font-size: 10px;
}
 
.bpp-placowka__report-link:hover {
	color: var(--bpp-green);
	border-color: var(--bpp-green);
}
 
/* ── Responsive ── */
@media (max-width: 620px) {
	.bpp-placowka__header {
		padding: 22px 18px;
	}
 
	.bpp-placowka__header-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
 
	.bpp-placowka__grid {
		grid-template-columns: 1fr;
	}
 
	.bpp-placowka__card--full {
		grid-column: 1;
	}
 
	.bpp-placowka__content-inner {
		padding: 20px 18px;
	}
}

.bp-wojewodztwa {
  padding: 0;
}

.bp-wojewodztwa__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 32px;
}

.bp-woj-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1.5px solid #e8e8e8;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.bp-woj-card:hover {
  border-color: #1a7a3c;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
  text-decoration: none;
}

.bp-woj-card img {
  width: 44px !important;
  height: 52px !important;
  object-fit: contain !important;
  flex-shrink: 0;
}

.bp-woj-card span {
  font-weight: 600;
  line-height: 1.3;
}

@media (max-width: 900px) {
  .bp-wojewodztwa__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 500px) {
  .bp-wojewodztwa__grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .bp-woj-card {
    flex-direction: column;
    text-align: center;
    gap: 8px;
    padding: 12px 8px;
  }
}

.bp-powiazane__lista {
  display: flex;
  flex-direction: column;
  gap: 10px;
}