/* =========================================================================
   bootstrap_custom.css — customizacja Bootstrap 5.3 (tylko nadpisania BS).
   Zawiera wspólne tokeny :root, z których korzysta też css/index.css.
   Autorskie klasy/utility (np. .glow-google, .text-gradient) są w index.css.
   Ładować PO bootstrap.min.css, a PRZED css/index.css.
   ========================================================================= */

:root {
	--bs-tertiary-bg: #e9eef3;
	/* Tokeny marki (--ez-primary i --ez-gradient używane też w index.css) */
	--ez-aqua: #19D3E3;
	--ez-raspberry: #2F5BFF;
	--ez-primary: #1577D8;
	--ez-primary-700: #0F5BAB;

	--ez-gradient: linear-gradient(135deg, var(--ez-aqua) 0%, var(--ez-raspberry) 100%);

	/* Nadpisanie motywu Bootstrap */
	--bs-primary: var(--ez-primary);
	--bs-primary-rgb: 21, 119, 216;
	--bs-link-color: var(--ez-primary);
	--bs-link-color-rgb: 21, 119, 216;
	--bs-link-hover-color: var(--ez-primary-700);
	--bs-border-color: rgba(0, 0, 0, .1);

	/* Zaokrąglenia — odrobinę bardziej miękkie niż domyślne */
	--bs-border-radius: .625rem;
	--bs-border-radius-sm: .45rem;
	--bs-border-radius-lg: .9rem;
	--bs-border-radius-xl: 1.25rem;

	/* Subtelniejszy kolor tekstu */
	--bs-body-color: #1f2430;

	/* Wspólne tło i cień boxów (karty strony głównej) */
	--ez-box-bg: var(--bs-gray-100);
	--ez-box-shadow: 0 .25rem 1rem rgba(0, 0, 0, .05);

	/* Ikony .icon-square (sekcje „etykiety" i „specjalizacje") — łatwa podmiana stylu:
	   --ez-icon-color = kolor glifu, --ez-icon-bg = tło (gradient/kolor), --ez-icon-size = rozmiar kwadratu.
	   Wielkość glifu skaluje się proporcjonalnie do --ez-icon-size (calc w .icon-square). */
	--ez-icon-size: 3.55rem;
	--ez-icon-color: #1a6af1; /* #fff */
	--ez-icon-bg: linear-gradient(120deg, #ebf1ff, #d2ddfa); /* #ebf1ff / var(--ez-gradient) */
	--ez-icon-font-ratio: .55; /* .46 */

	/* Głębokość wygaszania dołu portretu hero (mask w .hero-photo img) */
	--ez-photo-fade: 60px;
}

/* Tryb ciemny — dostroj akcenty */
[data-bs-theme="dark"] {
	--bs-primary: #38B6E6;
	--bs-primary-rgb: 56, 182, 230;
	--bs-link-color: #5BC8F0;
	--bs-link-color-rgb: 91, 200, 240;
	--bs-link-hover-color: #8AD8F5;

	--ez-box-bg: var(--bs-tertiary-bg);
}

/* Przyciski primary: gradient marki (cienie standardowe BS) */
.btn-primary {
	--bs-btn-bg: var(--ez-primary);
	--bs-btn-border-color: transparent;
	--bs-btn-hover-bg: var(--ez-primary-700);
	--bs-btn-hover-border-color: transparent;
	--bs-btn-active-bg: var(--ez-primary-700);
	--bs-btn-active-border-color: transparent;
	--bs-btn-disabled-bg: var(--ez-primary);
	--bs-btn-disabled-border-color: transparent;
	background-image: var(--ez-gradient);
	border: 0;
	transition: transform .15s ease, filter .15s ease;
}
.btn-primary:hover,
.btn-primary:focus-visible {
	background-image: var(--ez-gradient);
	filter: saturate(1.08);
	transform: translateY(-1px);
}
.btn-primary:active {
	transform: translateY(0);
}

/* Outline primary — akcent marki */
.btn-outline-primary {
	--bs-btn-color: var(--ez-primary);
	--bs-btn-border-color: rgba(var(--bs-primary-rgb), .55);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--ez-primary);
	--bs-btn-hover-border-color: var(--ez-primary);
	--bs-btn-active-bg: var(--ez-primary-700);
}

/* Karty: standardowy border BS (cień tylko z utility .shadow*) */
.card {
	--bs-card-border-color: rgba(0, 0, 0, .06);
}

/* Badge: wariant primary w gradiencie marki */
.badge.text-bg-primary {
	background-image: var(--ez-gradient) !important;
}

/* Focus: neutralny pierścień (skala szarości) */
.btn:focus-visible,
.form-control:focus,
.form-select:focus,
.nav-link:focus-visible,
.page-link:focus {
	border-color: rgba(var(--bs-primary-rgb), .6);
	box-shadow: 0 0 0 .25rem rgba(0, 0, 0, .14);
	outline: 0;
}

/* Akordeon (FAQ): aktywny nagłówek w barwie marki */
.accordion {
	--bs-accordion-active-color: #fff;
	--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 0, 0, .12);
	/* Strzałka aktywnego nagłówka — biała (pod spodem gradient) */
	--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
}

.accordion-button {font-weight: 500; --bs-accordion-btn-color: #000}
.accordion-button:not(.collapsed) {font-weight: 500}
.accordion-button:not(.collapsed):focus {--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.03)}
.accordion-button:focus {--bs-accordion-btn-focus-box-shadow: none}
.accordion-button:not(.collapsed) {
	background-image: var(--ez-gradient);
}
.accordion-button:after {
	--bs-accordion-btn-icon-width:1.25rem;
	--bs-accordion-btn-icon-transition:0.5s ease;
	--bs-accordion-btn-icon-transform:rotate(-180deg);
}
.accordion-button.collapsed {background-color:transparent}
