/* ==========================================================================
   BytePost — component styles.
   Colours come from theme.json presets, so changing them in
   Appearance → Editor → Styles updates everything here too.
   ========================================================================== */

/* ---------- Dark mode: swap the preset colours ---------- */
:root[data-theme="dark"] {
	--wp--preset--color--base: #0d1117;
	--wp--preset--color--surface: #161b22;
	--wp--preset--color--contrast: #e9edf2;
	--wp--preset--color--muted: #9aa4b2;
	--wp--preset--color--border: #2a313c;
	--wp--preset--color--accent: #ff4d63;
	--wp--preset--color--accent-soft: #2a1519;
	color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--wp--preset--color--base: #0d1117;
		--wp--preset--color--surface: #161b22;
		--wp--preset--color--contrast: #e9edf2;
		--wp--preset--color--muted: #9aa4b2;
		--wp--preset--color--border: #2a313c;
		--wp--preset--color--accent: #ff4d63;
		--wp--preset--color--accent-soft: #2a1519;
		color-scheme: dark;
	}
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img { height: auto; max-width: 100%; }
:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 2px; }

/* ---------- Reading progress ---------- */
.bp-progress {
	position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 1000;
	background: var(--wp--preset--color--accent);
	transform-origin: 0 50%; transform: scaleX(0);
	pointer-events: none;
}

/* ---------- Header ---------- */
.bp-site-header {
	position: sticky; top: 0; z-index: 100;
	background: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent);
	-webkit-backdrop-filter: saturate(180%) blur(12px);
	backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid var(--wp--preset--color--border);
	transition: box-shadow .2s;
}
.admin-bar .bp-site-header { top: var(--wp-admin--admin-bar--height, 0); }
.bp-site-header.is-scrolled { box-shadow: 0 4px 20px rgba(0,0,0,.06); }
.bp-header__bar { min-height: 64px; gap: 1rem; }
.bp-logo img { max-height: 40px; width: auto; }
@media (max-width: 600px) {
	.bp-header__bar { min-height: 56px; }
	.bp-logo img { max-height: 32px; }
}
:root[data-theme="dark"] .bp-logo img { filter: invert(1) hue-rotate(180deg); }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .bp-logo img { filter: invert(1) hue-rotate(180deg); }
}
.bp-header__actions { gap: .25rem; }
.bp-nav .wp-block-navigation-item__content { padding: .5rem .65rem; border-radius: 8px; }
.bp-nav .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--surface); }
.bp-nav .wp-block-navigation__submenu-container {
	border-radius: 12px; border: 1px solid var(--wp--preset--color--border) !important;
	box-shadow: var(--wp--custom--shadow); padding: .4rem !important;
	background: var(--wp--preset--color--base) !important;
}
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	padding: 1.25rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; font-weight: 700; }
/* Core only collapses the menu below 600px; collapse it on tablets too so it never wraps under the logo */
@media (max-width: 1023px) {
	.bp-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.bp-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
/* backdrop-filter makes the header the containing block for fixed children, which traps the open menu inside it */
.has-modal-open .bp-site-header,
.bp-site-header:has(.is-menu-open) { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--wp--preset--color--base); }
.bp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.bp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.bp-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; }
.bp-nav .is-menu-open { --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; }
.bp-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; padding: .35rem 0; }
.bp-nav .is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important; box-shadow: none; background: transparent !important;
	padding: .25rem 0 0 1rem !important;
}
.bp-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem; font-weight: 600; color: var(--wp--preset--color--muted); }

.bp-theme-toggle,
.bp-search .wp-block-search__button {
	display: inline-grid; place-items: center;
	width: 40px; height: 40px; padding: 0; border: 0; border-radius: 999px;
	background: transparent; color: var(--wp--preset--color--contrast); cursor: pointer;
}
.bp-theme-toggle:hover, .bp-search .wp-block-search__button:hover { background: var(--wp--preset--color--surface); }
.bp-search .wp-block-search__button svg { fill: currentColor; width: 22px; height: 22px; }
.bp-search .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.bp-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	border: 1px solid var(--wp--preset--color--border); border-radius: 999px; padding: .5rem 1rem;
	background: var(--wp--preset--color--surface); color: inherit;
}
.bp-i-sun { display: none; }
:root[data-theme="dark"] .bp-i-sun { display: block; }
:root[data-theme="dark"] .bp-i-moon { display: none; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .bp-i-sun { display: block; }
	:root:not([data-theme="light"]) .bp-i-moon { display: none; }
}

/* Topic pills — horizontal swipe on phones */
.bp-topics { margin-top: 0 !important; }
.bp-pills { list-style: none; margin: 0; padding: 0 0 .6rem; display: flex; gap: .5rem; }
.bp-topics .bp-pills { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
.bp-topics .bp-pills::-webkit-scrollbar { display: none; }
.bp-pills--wrap { flex-wrap: wrap; }
.bp-pills li { flex: 0 0 auto; scroll-snap-align: start; }
.bp-pills a {
	display: inline-block; white-space: nowrap; text-decoration: none;
	padding: .3rem .8rem; border-radius: 999px;
	font-size: var(--wp--preset--font-size--x-small); font-weight: 600;
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	transition: background .15s, color .15s;
}
.bp-pills a:hover, .bp-pills .current-cat a { background: var(--wp--preset--color--accent); border-color: transparent; color: #fff; }
.bp-pills .children { display: none; }

/* ---------- Ticker ---------- */
.bp-ticker {
	gap: .75rem; overflow: hidden;
	border: 1px solid var(--wp--preset--color--border); border-radius: 999px;
	padding: .3rem .4rem; background: var(--wp--preset--color--surface);
}
.bp-ticker__label {
	flex: 0 0 auto; margin: 0; padding: .2rem .75rem; border-radius: 999px;
	background: var(--wp--preset--color--accent); color: #fff;
	font-size: var(--wp--preset--font-size--x-small); font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
	display: flex; align-items: center; gap: .4rem;
}
.bp-ticker__label::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: bp-pulse 1.4s infinite; }
@keyframes bp-pulse { 50% { opacity: .25; } }
.bp-ticker__track { min-width: 0; flex: 1; overflow-x: auto; scrollbar-width: none; mask-image: linear-gradient(90deg, #000 85%, transparent); }
.bp-ticker__track::-webkit-scrollbar { display: none; }
.bp-ticker__track .wp-block-post-template { display: flex; gap: 2rem; margin: 0; padding: 0; width: max-content; }
.bp-ticker__track .wp-block-post-title { margin: 0; white-space: nowrap; }
.bp-ticker__track .wp-block-post-title a { text-decoration: none; }
@media (min-width: 900px) and (prefers-reduced-motion: no-preference) {
	.bp-ticker__track { overflow: hidden; }
	.bp-ticker__track .wp-block-post-template { animation: bp-marquee 40s linear infinite; }
	.bp-ticker:hover .wp-block-post-template { animation-play-state: paused; }
}
@keyframes bp-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Shared bits ---------- */
.bp-section-title {
	display: flex; align-items: center; gap: .6rem;
	text-transform: uppercase; letter-spacing: .08em; font-weight: 800;
	margin: 0 0 1.1rem;
}
.bp-section-title::before { content: ""; width: 6px; height: 1.1em; border-radius: 3px; background: var(--wp--preset--color--accent); }
.bp-section-title::after { content: ""; flex: 1; height: 1px; background: var(--wp--preset--color--border); }
.bp-section-title a { color: inherit; text-decoration: none; }
.bp-section-title a:hover { color: var(--wp--preset--color--accent); }

.bp-kicker { margin: 0 0 .35rem; }
.bp-kicker a { color: var(--wp--preset--color--accent); text-decoration: none; }
.bp-kicker .wp-block-post-terms__separator { color: var(--wp--preset--color--muted); }

.bp-meta { gap: .35rem .9rem; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); }
.bp-meta > * { margin: 0; }
.bp-updated::before { content: "Updated "; }
.bp-reading-time { display: inline-flex; align-items: center; gap: .3rem; }
.bp-reading-time::before { content: "•"; }

.wp-block-post-title a { text-decoration: none; }
.wp-block-post-featured-image { overflow: hidden; background: var(--wp--preset--color--surface); }
.wp-block-post-featured-image img { transition: transform .4s ease; }
.wp-block-post-featured-image a:hover img { transform: scale(1.04); }

/* ---------- Hero ---------- */
.bp-hero { margin-top: var(--wp--preset--spacing--40) !important; }
.bp-lead .wp-block-post-featured-image { margin-bottom: 1rem; }
.bp-lead .wp-block-post-title { margin: .25rem 0 .6rem; line-height: 1.12; }
.bp-lead .wp-block-post-excerpt { margin: 0 0 .75rem; }
.bp-lead .wp-block-post-excerpt__more-text { display: none; }
.bp-hero__side .wp-block-post-template > li + li { border-top: 1px solid var(--wp--preset--color--border); }
.bp-row { gap: 1rem; padding: .9rem 0; }
.bp-hero__side .wp-block-post-template > li:first-child .bp-row { padding-top: 0; }
.bp-row .wp-block-post-featured-image { flex: 0 0 96px; border-radius: 10px; }
.bp-row .wp-block-post-title { margin: .1rem 0 .3rem; line-height: 1.3; }

/* ---------- Cards ---------- */
.bp-cards { gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) !important; }
.bp-card { display: flex; flex-direction: column; gap: 0; height: 100%; }
.bp-card > * { margin-block: 0; }
.bp-card .wp-block-post-featured-image { margin-bottom: .8rem; }
.bp-card .wp-block-post-title { margin: .1rem 0 .45rem; line-height: 1.28; }
.bp-card .wp-block-post-excerpt { margin-bottom: .5rem; }
.bp-card .wp-block-post-excerpt__excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bp-card .wp-block-post-excerpt__more-text { display: none; }
.bp-card .wp-block-post-date { margin-top: auto; }

/* Phones: compact cards turn into a swipeable row */
@media (max-width: 600px) {
	.bp-cards--compact {
		display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory;
		gap: .9rem !important; padding-bottom: .5rem; scrollbar-width: none;
		margin-inline: calc(-1 * clamp(16px, 4vw, 32px)) !important;
		padding-inline: clamp(16px, 4vw, 32px) !important;
	}
	.bp-cards--compact::-webkit-scrollbar { display: none; }
	.bp-cards--compact > li { flex: 0 0 78%; scroll-snap-align: start; }
}

.bp-section { margin-top: var(--wp--preset--spacing--50) !important; }
.bp-layout > .wp-block-column > .bp-section:first-child { margin-top: 0 !important; }

/* ---------- Sidebar ---------- */
@media (min-width: 782px) {
	.bp-aside .bp-sidebar { position: sticky; top: calc(130px + var(--wp-admin--admin-bar--height, 0px)); }
}
.bp-sidebar { display: grid; gap: var(--wp--preset--spacing--40); }
.bp-box {
	border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius);
	padding: var(--wp--preset--spacing--30);
}
.bp-ranked .wp-block-post-template { counter-reset: bp-rank; }
.bp-ranked .wp-block-post-template > li { counter-increment: bp-rank; }
.bp-ranked .wp-block-post-template > li + li { border-top: 1px solid var(--wp--preset--color--border); }
.bp-ranked__item { gap: .9rem; padding: .75rem 0; }
.bp-ranked__item::before {
	content: counter(bp-rank, decimal-leading-zero);
	font-family: var(--wp--preset--font-family--headline); font-weight: 900; font-size: 1.6rem; line-height: 1;
	color: var(--wp--preset--color--accent); opacity: .85; min-width: 2.2rem;
}
.bp-ranked__item .wp-block-post-title { margin: 0 0 .2rem; }
.bp-cta { border-color: transparent; }
.bp-cta h2 { margin-top: 0; }
.bp-btn-whatsapp .wp-block-button__link { background: #25d366; color: #06301a; }
.bp-btn-whatsapp .wp-block-button__link:hover { background: #1ebe5a; color: #06301a; }

/* ---------- Article ---------- */
.bp-article__title { margin: .3rem 0 1rem; line-height: 1.12; }
.bp-byline { gap: .75rem; margin-bottom: 1rem; }
.bp-byline .wp-block-post-author-name { margin: 0; }
.bp-byline .wp-block-post-author-name a { color: inherit; text-decoration: none; }
.bp-article__image { margin: 1.25rem 0 1.75rem; }

.bp-prose { font-size: 1.125rem; line-height: 1.75; }
.bp-prose > * { margin-block: 0 1.25em; }
.bp-prose h2 { margin-top: 2em; font-size: var(--wp--preset--font-size--x-large); }
.bp-prose h3 { margin-top: 1.6em; }
.bp-prose a { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.bp-prose img { border-radius: 12px; }
.bp-prose blockquote, .bp-prose .wp-block-quote {
	border-left: 4px solid var(--wp--preset--color--accent); margin-left: 0; padding: .25rem 0 .25rem 1.25rem;
	font-family: var(--wp--preset--font-family--serif); font-size: 1.25em; font-style: italic;
}
.bp-prose .wp-block-table, .bp-prose table { display: block; overflow-x: auto; }
.bp-prose th, .bp-prose td { border: 1px solid var(--wp--preset--color--border); padding: .55rem .75rem; }
.bp-prose ul, .bp-prose ol { padding-left: 1.3em; }
.bp-prose li + li { margin-top: .35em; }
/* Rank Math table of contents */
.bp-prose .wp-block-rank-math-toc-block {
	background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--radius); padding: 1rem 1.25rem;
}
.bp-prose .wp-block-rank-math-toc-block h2 { margin-top: 0; font-size: var(--wp--preset--font-size--medium); }
/* AdSense auto ads: give them breathing room so they don't jam into text */
.bp-prose .google-auto-placed { margin: 2rem 0 !important; }

.bp-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 2rem; }
.bp-tags a {
	padding: .25rem .7rem; border-radius: 999px; text-decoration: none;
	background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--x-small); font-weight: 600;
}
.bp-tags .wp-block-post-terms__separator { display: none; }

.bp-authorbox { border-radius: var(--wp--custom--radius); padding: var(--wp--preset--spacing--30); margin-top: 2rem; }
.bp-authorbox .wp-block-post-author { gap: 1rem; }
.bp-authorbox .wp-block-post-author__avatar img { border-radius: 999px; }
.bp-authorbox .wp-block-post-author__name { font-weight: 800; font-size: 1.1rem; }
.bp-authorbox .wp-block-post-author__bio { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); margin-top: .35rem; }

/* ---------- Share bar ---------- */
.bp-share { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 1rem 0; }
.bp-share__label { font-size: var(--wp--preset--font-size--x-small); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--wp--preset--color--muted); margin-right: .25rem; width: 100%; }
@media (min-width: 600px) { .bp-share__label { width: auto; } }
.bp-share__btn {
	display: inline-flex; align-items: center; gap: .4rem;
	height: 38px; padding: 0 .9rem; border-radius: 999px; border: 0; cursor: pointer;
	font: 700 .85rem/1 var(--wp--preset--font-family--body); text-decoration: none !important;
	color: #fff; background: #334155; transition: transform .15s, filter .15s;
}
.bp-share__btn:hover { transform: translateY(-1px); filter: brightness(1.08); color: #fff; }
.bp-share__btn--whatsapp { background: #25d366; color: #06301a; }
.bp-share__btn--whatsapp:hover { color: #06301a; }
.bp-share__btn--telegram { background: #229ed9; }
.bp-share__btn--x { background: #111; }
.bp-share__btn--facebook { background: #1877f2; }
.bp-share__btn--copy, .bp-share__btn--native { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); border: 1px solid var(--wp--preset--color--border); }
.bp-share__btn--copy:hover, .bp-share__btn--native:hover { color: var(--wp--preset--color--contrast); }
.bp-share__btn.is-copied { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
@media (max-width: 480px) {
	.bp-share__btn { padding: 0 .75rem; }
	.bp-share__btn--x span, .bp-share__btn--facebook span, .bp-share__btn--telegram span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}

/* Floating WhatsApp share on phones, appears after scrolling into the story */
.bp-float-share {
	position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 90;
	width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center;
	background: #25d366; color: #06301a; box-shadow: 0 8px 24px rgba(0,0,0,.2);
	transform: translateY(120px); transition: transform .25s ease;
}
.bp-float-share.is-visible { transform: none; }
@media (min-width: 900px) { .bp-float-share { display: none; } }

/* ---------- Archive / pagination / comments ---------- */
.bp-archive-head { margin-bottom: var(--wp--preset--spacing--40); padding-bottom: var(--wp--preset--spacing--30); border-bottom: 1px solid var(--wp--preset--color--border); }
.bp-archive-head .wp-block-query-title { margin: 0 0 .4rem; }
.bp-pagination { margin-top: var(--wp--preset--spacing--50) !important; gap: .4rem; }
.bp-pagination a, .bp-pagination .page-numbers {
	display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 .75rem;
	border-radius: 999px; border: 1px solid var(--wp--preset--color--border);
	text-decoration: none; color: var(--wp--preset--color--contrast); font-weight: 700; font-size: .9rem;
}
.bp-pagination .page-numbers.current { background: var(--wp--preset--color--accent); color: #fff; border-color: transparent; }
.bp-comments { margin-top: var(--wp--preset--spacing--50); }
.bp-comments textarea, .bp-comments input[type="text"], .bp-comments input[type="email"], .bp-comments input[type="url"] {
	width: 100%; border: 1px solid var(--wp--preset--color--border); border-radius: 10px; padding: .7rem .9rem;
	background: var(--wp--preset--color--base); color: inherit; font: inherit;
}

/* ---------- Contact page (wrap content in a group with class "bp-contact") ---------- */
.bp-contact__lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); max-width: 46rem; margin: 0 0 var(--wp--preset--spacing--40) !important; line-height: 1.55; }
.bp-contact__grid { flex-direction: column !important; flex-wrap: nowrap !important; gap: var(--wp--preset--spacing--30) !important; margin: 0 !important; }
.bp-contact__grid > .wp-block-column { flex-basis: auto !important; width: 100%; box-sizing: border-box; }
.bp-contact__info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.75rem; }
.bp-contact__info > .bp-contact__title { grid-column: 1 / -1; margin-bottom: 0 !important; }
.bp-contact__info, .bp-contact__form {
	border: 1px solid var(--wp--preset--color--border); border-radius: calc(var(--wp--custom--radius) + 6px);
	padding: clamp(1.25rem, 3vw, 2.25rem) !important; background: var(--wp--preset--color--base);
	box-shadow: var(--wp--custom--shadow);
}
.bp-contact__info {
	background: linear-gradient(160deg, var(--wp--preset--color--accent-soft), var(--wp--preset--color--surface) 70%);
	border-color: transparent;
}
.bp-contact__title { font-size: var(--wp--preset--font-size--x-large) !important; margin: 0 0 1.25rem !important; }
.bp-contact__hint { margin: -.75rem 0 1.25rem !important; font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); }

.bp-ci { position: relative; padding: 0 0 0 3.4rem; margin: 0 !important; min-height: 2.6rem; }
.bp-ci > * { margin: 0 !important; }
.bp-ci::before {
	content: ""; position: absolute; left: 0; top: .1rem; width: 2.5rem; height: 2.5rem; border-radius: 12px;
	background: var(--wp--preset--color--accent);
	-webkit-mask: var(--bp-ci-icon) center / 1.25rem no-repeat, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor; mask: var(--bp-ci-icon) center / 1.25rem no-repeat exclude, linear-gradient(#000 0 0);
}
.bp-ci--email { --bp-ci-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Zm9 7.1L4 7.3V17h16V7.3l-8 4.8Z'/%3E%3C/svg%3E"); }
.bp-ci--location { --bp-ci-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 1 7 7c0 5.2-7 13-7 13S5 14.2 5 9a7 7 0 0 1 7-7Zm0 4.5A2.5 2.5 0 1 0 12 11.5 2.5 2.5 0 0 0 12 6.5Z'/%3E%3C/svg%3E"); }
.bp-ci--time { --bp-ci-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm1 5h-2v6l5 3 1-1.7-4-2.4V7Z'/%3E%3C/svg%3E"); }
.bp-ci--fix { --bp-ci-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2Z'/%3E%3C/svg%3E"); }
.bp-ci__label { font-size: var(--wp--preset--font-size--x-small); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--wp--preset--color--muted); }
.bp-ci__value { font-weight: 600; line-height: 1.45; }
.bp-ci__value a { color: var(--wp--preset--color--accent); text-decoration: none; word-break: break-word; }
.bp-ci__value a:hover { text-decoration: underline; }

/* Gutena Forms inside the contact card */
.bp-contact form.wp-block-gutena-forms { padding: 0 !important; margin: 0 !important; }
.bp-contact form.wp-block-gutena-forms > .wp-block-columns { gap: 1rem !important; margin: 0 0 1rem !important; }
.bp-contact .wp-block-gutena-field-group { margin: 0 !important; }
.bp-contact .wp-block-gutena-field-group .wp-block-group { gap: .4rem !important; }
.bp-contact .wp-block-gutena-field-group label { font-size: var(--wp--preset--font-size--small); font-weight: 700; color: var(--wp--preset--color--contrast); }
.bp-contact .gutena-forms-field {
	width: 100% !important; box-sizing: border-box; font: inherit; font-size: 1rem !important;
	color: var(--wp--preset--color--contrast) !important; background: var(--wp--preset--color--surface) !important;
	border: 1.5px solid var(--wp--preset--color--border) !important; border-radius: 12px !important;
	padding: .8rem 1rem !important; min-height: 50px; transition: border-color .15s, box-shadow .15s, background .15s;
}
.bp-contact textarea.gutena-forms-field { min-height: 160px; resize: vertical; line-height: 1.55; }
.bp-contact .gutena-forms-field::placeholder { color: var(--wp--preset--color--muted); opacity: .75; }
.bp-contact .gutena-forms-field:hover { border-color: color-mix(in srgb, var(--wp--preset--color--accent) 35%, var(--wp--preset--color--border)) !important; }
.bp-contact .gutena-forms-field:focus {
	outline: none; background: var(--wp--preset--color--base) !important;
	border-color: var(--wp--preset--color--accent) !important;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--wp--preset--color--accent) 18%, transparent) !important;
}
.bp-contact .gutena-forms-field-error-msg { margin: .35rem 0 0 !important; font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--accent); }
.bp-contact .gutena-forms-field-error-msg:empty { display: none; }
.bp-contact .gutena-forms-submit-buttons { margin: .25rem 0 0 !important; }
.bp-contact .gutena-forms-submit-button { width: 100%; }
.bp-contact .gutena-forms-submit-button .wp-block-button__link {
	width: 100%; min-height: 52px; border: 0; border-radius: 12px !important; cursor: pointer;
	background: var(--wp--preset--color--accent) !important; color: #fff !important;
	font-size: 1rem !important; font-weight: 800 !important; letter-spacing: .01em;
	box-shadow: 0 8px 20px color-mix(in srgb, var(--wp--preset--color--accent) 30%, transparent);
	transition: transform .15s, filter .15s, box-shadow .15s;
}
.bp-contact .gutena-forms-submit-button .wp-block-button__link:hover { transform: translateY(-1px); filter: brightness(1.06); }
.bp-contact .gutena-forms-submit-button .wp-block-button__link:active { transform: none; }
.bp-contact .wp-block-gutena-form-confirm-msg .wp-block-group { border-radius: 12px; }

@media (max-width: 600px) {
	.bp-contact__info { grid-template-columns: 1fr; }
	.bp-contact form.wp-block-gutena-forms > .wp-block-columns { flex-wrap: wrap !important; }
	.bp-contact form.wp-block-gutena-forms > .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
}

/* ---------- Footer ---------- */
.bp-footer__list { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.bp-footer__list a { color: var(--wp--preset--color--contrast); text-decoration: none; font-size: var(--wp--preset--font-size--small); }
.bp-footer__list a:hover { color: var(--wp--preset--color--accent); }
.bp-footer .bp-section-title::after { display: none; }
.bp-footer .wp-block-site-title, .bp-footer p { margin: 0; }
.bp-footer__cookie a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.bp-footer__cookie a:hover { color: var(--wp--preset--color--accent); }

/* ---------- Columns: stack earlier for tablets in portrait ---------- */
@media (max-width: 960px) {
	.bp-layout.wp-block-columns, .bp-hero.wp-block-columns { flex-wrap: wrap !important; }
	.bp-layout > .wp-block-column, .bp-hero > .wp-block-column { flex-basis: 100% !important; }
}
@media (min-width: 601px) and (max-width: 960px) {
	.bp-hero__side .wp-block-post-template { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.5rem; }
	.bp-hero__side .wp-block-post-template > li:nth-child(2) { border-top: 0; }
	.bp-hero__side .wp-block-post-template > li .bp-row { padding-top: .9rem; }
}

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
