/* ==========================================================================
   Framberry theme styles  (loads after Bootstrap 5.3)
   Brand: warm berry + cream, fresh matcha-green accent.
   ========================================================================== */

:root {
	--fb-berry:        #b83265;
	--fb-berry-dark:   #8f2550;
	--fb-berry-light:  #ec8bb1;
	--fb-cream:        #fbf5ee;
	--fb-ink:          #2a2320;
	--fb-matcha:       #88a04b;
	--fb-border:       #ece3d8;
}

body {
	color: var(--fb-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	background: #ffffff;
}

/* ---- Brand utilities ---- */
.text-berry        { color: var(--fb-berry) !important; }
.text-berry-light  { color: var(--fb-berry-light) !important; }
.text-matcha       { color: var(--fb-matcha) !important; }
.bg-cream          { background-color: var(--fb-cream) !important; }
.bg-ink            { background-color: var(--fb-ink) !important; }

a            { color: var(--fb-berry); text-underline-offset: 2px; }
a:hover      { color: var(--fb-berry-dark); }

/* ---- Buttons ---- */
.btn-berry {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--fb-berry);
	--bs-btn-border-color: var(--fb-berry);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--fb-berry-dark);
	--bs-btn-hover-border-color: var(--fb-berry-dark);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--fb-berry-dark);
	--bs-btn-active-border-color: var(--fb-berry-dark);
	--bs-btn-focus-shadow-rgb: 184, 50, 101;
}
.btn-outline-berry {
	--bs-btn-color: var(--fb-berry);
	--bs-btn-border-color: var(--fb-berry);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--fb-berry);
	--bs-btn-hover-border-color: var(--fb-berry);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--fb-berry);
	--bs-btn-active-border-color: var(--fb-berry);
	--bs-btn-focus-shadow-rgb: 184, 50, 101;
}

/* ---- Header / nav ---- */
.navbar-brand        { font-size: 1.35rem; letter-spacing: -0.01em; }
.navbar-brand img    { max-height: 46px; width: auto; }
.custom-logo-link    { display: inline-block; margin-right: 1rem; }
.custom-logo         { max-height: 46px; width: auto; }
.navbar .nav-link    { font-weight: 500; color: var(--fb-ink); }
.navbar .nav-link:hover,
.navbar .nav-link.active { color: var(--fb-berry); }
.dropdown-menu       { border-color: var(--fb-border); box-shadow: 0 .5rem 1.5rem rgba(42,35,32,.10); }
.dropdown-item.active,
.dropdown-item:active { background-color: var(--fb-berry); }

/* ---- Breadcrumbs (Yoast) ---- */
.framberry-breadcrumbs        { background: var(--fb-cream); border-bottom: 1px solid var(--fb-border); }
.framberry-breadcrumbs a      { color: var(--fb-berry); text-decoration: none; }
.framberry-breadcrumbs a:hover{ text-decoration: underline; }

/* ---- Content typography ---- */
.entry-content        { font-size: 1.075rem; line-height: 1.75; }
.entry-content > h2   { margin-top: 2.25rem; margin-bottom: .75rem; font-weight: 700; }
.entry-content > h3   { margin-top: 1.6rem; margin-bottom: .5rem; font-weight: 600; }
.entry-content p      { margin-bottom: 1.1rem; }
.entry-content img    { max-width: 100%; height: auto; border-radius: .5rem; }
.entry-content ul,
.entry-content ol     { margin-bottom: 1.1rem; }
.entry-content li     { margin-bottom: .35rem; }
.entry-content blockquote {
	border-left: 4px solid var(--fb-matcha);
	padding: .25rem 0 .25rem 1rem;
	margin: 1.25rem 0;
	color: #5b524b;
	font-style: italic;
}
.entry-content a      { text-decoration: underline; }

/* Tables inside content (markdown tables have no .table class) */
.entry-content table  { width: 100%; margin: 1.25rem 0; border-collapse: collapse; font-size: .98rem; }
.entry-content thead th { background: var(--fb-cream); text-align: left; }
.entry-content th,
.entry-content td     { border: 1px solid var(--fb-border); padding: .55rem .75rem; vertical-align: top; }

/* ---- Hero ---- */
.hero { border-bottom: 1px solid var(--fb-border); }

/* ---- Post cards ---- */
.framberry-card               { transition: transform .15s ease, box-shadow .15s ease; }
.framberry-card:hover         { transform: translateY(-3px); box-shadow: 0 .75rem 1.5rem rgba(42,35,32,.10) !important; }
.framberry-card .card-img-top { aspect-ratio: 16 / 10; object-fit: cover; }

/* ---- FAQ accordion (built by theme.js from the "Frequently asked questions" section) ---- */
.faq-accordion .accordion-button {
	font-weight: 600;
	color: var(--fb-ink);
}
.faq-accordion .accordion-button:not(.collapsed) {
	color: var(--fb-berry);
	background-color: var(--fb-cream);
	box-shadow: none;
}
.faq-accordion .accordion-button:focus {
	border-color: var(--fb-berry-light);
	box-shadow: 0 0 0 .25rem rgba(184, 50, 101, .18);
}
.faq-accordion .accordion-button:not(.collapsed)::after {
	filter: hue-rotate(290deg) saturate(2);
}

/* ---- Pagination ---- */
.framberry-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem; }
.framberry-pagination .page-numbers {
	display: inline-block;
	padding: .4rem .8rem;
	border: 1px solid var(--fb-border);
	border-radius: .4rem;
	color: var(--fb-berry);
	text-decoration: none;
	line-height: 1;
}
.framberry-pagination .page-numbers:hover   { background: var(--fb-cream); }
.framberry-pagination .page-numbers.current  { background: var(--fb-berry); color: #fff; border-color: var(--fb-berry); }
.framberry-pagination .page-numbers.dots     { border-color: transparent; }

/* ---- Footer ---- */
.site-footer a               { color: #d7cfc6; }
.site-footer a:hover         { color: #fff; }
.site-footer .footer-menu a  { text-decoration: none; }

/* ---- Misc ---- */
figure { margin: 0; }
.site-main { min-height: 50vh; }
