/* ============================================
   TMF Home Page Styles
   Works with native WordPress blocks.
   ============================================ */

/* --- Override WP layout constraints on front page --- */
body.home .wp-site-blocks,
body.page-template-front-page .wp-site-blocks {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.home .wp-site-blocks > *,
body.home .is-layout-flow > *,
body.home .wp-block-post-content > * {
	margin-block-start: 0 !important;
}

body.home .wp-block-post-content,
body.page-template-front-page .wp-block-post-content {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.home .wp-block-post-content.is-layout-constrained > *,
body.page-template-front-page .wp-block-post-content.is-layout-constrained > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.home #main-content > .wp-block-group,
body.page-template-front-page #main-content > .wp-block-group {
	max-width: none !important;
	padding: 0 !important;
}

/* ===== HERO (Cover block) ===== */
.tmf-hero-cover {
	min-height: 520px !important;
}

@media (min-width: 768px) {
	.tmf-hero-cover {
		min-height: 600px !important;
	}
}

@media (max-width: 768px) {
    .tmf-about-image-col .wp-block-image img {
        max-width: 16rem !important;
        margin: 0 auto !important;
        display: block;
    }

    .tmf-about-section {
        overflow: hidden !important;
    }

    .tmf-about-columns {
        flex-direction: column !important;
    }
}

.tmf-hero-cover::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 5rem;
	background: white;
	clip-path: polygon(0 100%, 100% 0, 100% 100%);
	z-index: 1;
}

.tmf-hero-cover .wp-block-cover__inner-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 6rem 1.5rem 8rem;
	z-index: 2;
}

@media (min-width: 768px) {
	.tmf-hero-cover .wp-block-cover__inner-container {
		padding: 8rem 1.5rem 10rem;
	}
}

.tmf-hero-cover .wp-block-cover__inner-container > * {
	max-width: 42rem;
	margin-left: 0 !important;
}

.tmf-hero-cover h1 {
	font-size: clamp(2.25rem, 1.5rem + 3vw, 3.75rem) !important;
	line-height: 1.15 !important;
	margin-bottom: 1.5rem !important;
}

.tmf-hero-cover .wp-block-cover__inner-container > p {
	font-size: clamp(1.125rem, 1rem + 0.5vw, 1.25rem) !important;
	color: rgba(255, 255, 255, 0.8) !important;
	line-height: 1.7 !important;
	margin-bottom: 2.5rem !important;
}

.tmf-hero-cover .wp-block-buttons {
	gap: 1rem;
}

.tmf-hero-cover .wp-block-button__link {
	padding: 0.875rem 2.5rem !important;
	border-radius: 0.5rem !important;
	font-size: 1rem !important;
}

.tmf-hero-cover .is-style-outline .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.3) !important;
	background: transparent !important;
}

.tmf-hero-cover .is-style-outline .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.15) !important;
}

/* ===== SEARCH BAR ===== */
.tmf-search-section {
	padding: 2.5rem 0 0 !important;
}

.tmf-search-section .wp-block-search {
	max-width: 48rem;
	margin: 0 auto;
}

.tmf-search-section .wp-block-search__input {
	padding: 1.25rem 1.25rem;
	border-radius: var(--tmf-radius-xl);
	background: var(--tmf-light-bg);
	border: 1px solid var(--tmf-border);
	font-size: 1.1rem;
	font-family: inherit;
}

.tmf-search-section .wp-block-search__input:focus {
	outline: none;
	border-color: transparent;
	box-shadow: 0 0 0 2px var(--tmf-accent);
}

.tmf-search-section .wp-block-search__button {
	background: var(--tmf-accent);
	color: white;
	border: none;
	border-radius: var(--tmf-radius-lg);
	padding: 0.75rem 1.5rem;
	font-family: inherit;
	font-weight: 700;
	font-size: 1.175rem;
	cursor: pointer;
}

/* ===== SERVICE CARDS SECTION ===== */
.tmf-services-section {
	padding: 4rem 0 6rem !important;
}

.tmf-services-section > h2,
.tmf-services-section > .wp-block-heading {
	margin-bottom: 0.25rem !important;
}

.tmf-services-section > p {
	margin-bottom: 3.5rem !important;
}

.tmf-services-section > .wp-block-group__inner-container,
.tmf-services-section > * {
	max-width: 1280px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 1.5rem;
}

.tmf-service-cards-row {
	gap: 1.5rem !important;
}

.tmf-service-cards-row > .wp-block-column {
	flex-basis: 100% !important;
}

@media (min-width: 640px) {
	.tmf-service-cards-row > .wp-block-column {
		flex-basis: calc(50% - 0.75rem) !important;
	}
}

@media (min-width: 1024px) {
	.tmf-service-cards-row > .wp-block-column {
		flex-basis: calc(25% - 1.125rem) !important;
	}
}

.tmf-service-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: var(--tmf-white);
	border-radius: var(--tmf-radius-2xl) !important;
	padding: 2.5rem 1.5rem 2rem !important;
	border: 1px solid #E8EDEF;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.07);
	transition: box-shadow 0.3s, transform 0.3s;
	height: 100%;
}

.tmf-service-card h3 {
	margin-bottom: 0.75rem !important;
}

.tmf-service-card p {
	margin-bottom: 1rem !important;
}

.tmf-service-card:hover {
	box-shadow: var(--tmf-shadow-xl);
	transform: translateY(-2px);
}

.tmf-service-card h3 {
	font-size: 1.05rem !important;
}

.tmf-service-card p {
	font-size: 0.875rem;
	color: var(--tmf-text-tertiary);
	line-height: 1.7;
	flex: 1;
}

.tmf-service-card .wp-block-buttons {
	margin-top: auto;
	width: 100%;
	justify-content: center;
}

.tmf-service-card .wp-block-button__link {
	border-radius: var(--tmf-radius-lg) !important;
	font-size: 1.175rem !important;
	font-weight: 700 !important;
	padding: 0.5rem 1.5rem !important;
	transition: transform 0.2s, box-shadow 0.2s;
}

.tmf-service-card:hover .wp-block-button__link {
	transform: scale(1.05);
	box-shadow: var(--tmf-shadow-lg);
}

/* Service card icon decorations via CSS */
.tmf-icon-teal::before,
.tmf-icon-orange::before,
.tmf-icon-darkteal::before,
.tmf-icon-blue::before {
	content: "";
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	margin: 0 auto 1.75rem;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 32px 32px;
}

/* Laptop icon - Tæknilausnir */
.tmf-icon-teal::before {
	background-color: rgba(0, 111, 139, 0.06);
	border: 1.5px solid rgba(0, 111, 139, 0.19);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23006F8B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16'/%3E%3C/svg%3E");
}

/* GraduationCap icon - Fræðslumolar */
.tmf-icon-orange::before {
	background-color: rgba(255, 91, 4, 0.06);
	border: 1.5px solid rgba(255, 91, 4, 0.19);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FF5B04' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z'/%3E%3Cpath d='M22 10v6'/%3E%3Cpath d='M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/svg%3E");
}

/* HandHelping icon - Þjónusta */
.tmf-icon-darkteal::before {
	background-color: rgba(12, 70, 76, 0.06);
	border: 1.5px solid rgba(12, 70, 76, 0.19);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230C464C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14'/%3E%3Cpath d='m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9'/%3E%3Cpath d='m2 13 6 6'/%3E%3C/svg%3E");
}

/* Building2 icon - Um TMF */
.tmf-icon-blue::before {
	background-color: rgba(36, 114, 185, 0.06);
	border: 1.5px solid rgba(36, 114, 185, 0.19);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232472B9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z'/%3E%3Cpath d='M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M10 6h4'/%3E%3Cpath d='M10 10h4'/%3E%3Cpath d='M10 14h4'/%3E%3Cpath d='M10 18h4'/%3E%3C/svg%3E");
}

/* ===== QUICK CATEGORIES ===== */
.tmf-quick-categories {
	padding: 3.5rem 0 4rem !important;
}

.tmf-quick-categories > h2,
.tmf-quick-categories > .wp-block-heading {
	margin-bottom: 0.25rem !important;
}

.tmf-quick-categories > p {
	margin-bottom: 3rem !important;
}

.tmf-quick-categories > * {
	max-width: 1280px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 1.5rem;
}

.tmf-quick-cat-row {
	gap: 1rem !important;
	flex-wrap: wrap !important;
}

.tmf-quick-cat-row > .wp-block-column {
	flex-basis: calc(50% - 0.5rem) !important;
	flex-grow: 0 !important;
}

@media (min-width: 640px) {
	.tmf-quick-cat-row > .wp-block-column {
		flex-basis: calc(33.33% - 0.67rem) !important;
	}
}

@media (min-width: 1024px) {
	.tmf-quick-cat-row > .wp-block-column {
		flex-basis: calc(16.66% - 0.84rem) !important;
	}
}

.tmf-quick-cat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	padding: 2rem 1rem 1.25rem !important;
	border-radius: var(--tmf-radius-xl) !important;
	background: var(--tmf-white) !important;
	border: 1px solid var(--tmf-border) !important;
	overflow: hidden;
	position: relative;
	transition: box-shadow 0.2s, transform 0.2s;
	text-align: center;
}

.tmf-quick-cat:hover {
	box-shadow: var(--tmf-shadow-lg);
	transform: translateY(-4px);
	border-color: transparent !important;
}

.tmf-quick-cat h3 {
	font-size: 0.875rem !important;
}

/* Category accent top borders */
.tmf-cat-sjon { border-top: 4px solid #FF5B04 !important; }
.tmf-cat-heyrn { border-top: 4px solid #006F8B !important; }
.tmf-cat-hreyfing { border-top: 4px solid #0C464C !important; }
.tmf-cat-tjaskipti { border-top: 4px solid #2472B9 !important; }
.tmf-cat-nam { border-top: 4px solid #E1D043 !important; }
.tmf-cat-lesblinda { border-top: 4px solid #FF892C !important; }

/* Category card icons */
.tmf-quick-cat::before {
	content: "";
	display: block;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
}

/* ScanEye - Sjón */
.tmf-cat-sjon::before {
	background-color: rgba(255, 91, 4, 0.08);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FF5B04' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7V5a2 2 0 0 1 2-2h2'/%3E%3Cpath d='M17 3h2a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M21 17v2a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M7 21H5a2 2 0 0 1-2-2v-2'/%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Cpath d='M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0'/%3E%3C/svg%3E");
}

/* AudioLines - Heyrn */
.tmf-cat-heyrn::before {
	background-color: rgba(0, 111, 139, 0.08);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23006F8B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 10v3'/%3E%3Cpath d='M6 6v11'/%3E%3Cpath d='M10 3v18'/%3E%3Cpath d='M14 8v7'/%3E%3Cpath d='M18 5v13'/%3E%3Cpath d='M22 10v3'/%3E%3C/svg%3E");
}

/* Activity - Hreyfing */
.tmf-cat-hreyfing::before {
	background-color: rgba(12, 70, 76, 0.08);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230C464C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2'/%3E%3C/svg%3E");
}

/* MessagesSquare - Tjáskipti */
.tmf-cat-tjaskipti::before {
	background-color: rgba(36, 114, 185, 0.08);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232472B9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1'/%3E%3C/svg%3E");
}

/* BookOpenCheck - Nám */
.tmf-cat-nam::before {
	background-color: rgba(225, 208, 67, 0.12);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23B0A020' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21V7'/%3E%3Cpath d='m16 12 2 2 4-4'/%3E%3Cpath d='M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7'/%3E%3Cpath d='M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7'/%3E%3Cpath d='M5 22h14'/%3E%3Cpath d='M5 22V7'/%3E%3Cpath d='M19 22V7'/%3E%3C/svg%3E");
}

/* BookMarked - Lesblinda */
.tmf-cat-lesblinda::before {
	background-color: rgba(255, 137, 44, 0.08);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FF892C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2v8l3-3 3 3V2'/%3E%3Cpath d='M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20'/%3E%3C/svg%3E");
}

/* ===== ABOUT SECTION ===== */
.tmf-about-section {
	padding: 5rem 0 6rem !important;
}

.tmf-about-section > * {
	max-width: 1280px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 1.5rem;
}

.tmf-about-columns {
	gap: 4rem !important;
	align-items: center !important;
}

.tmf-about-image-col .wp-block-image img {
	border-radius: 50%;
	border: 4px solid white;
	box-shadow: var(--tmf-shadow-xl);
	aspect-ratio: 1;
	object-fit: cover;
	max-width: 24rem;
}

.tmf-about-image-col .wp-block-image {
	text-align: center;
}

.tmf-about-text-col h2 span,
.tmf-about-text-col em {
	color: var(--tmf-secondary);
	font-style: normal;
}

.tmf-about-text-col > p {
	margin-bottom: 1.75rem !important;
}

.tmf-features-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-bottom: 2rem !important;
	padding: 0 !important;
	background: none !important;
}

.tmf-feature-item {
	display: flex !important;
	flex-direction: row !important;
	gap: 1rem !important;
	align-items: flex-start !important;
	padding: 0 !important;
	background: none !important;
}

.tmf-feature-icon {
	flex-shrink: 0;
	width: 2.5rem !important;
	height: 2.5rem !important;
	min-height: 2.5rem;
	border-radius: 50% !important;
	background: rgba(255, 91, 4, 0.1) !important;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
}

.tmf-feature-icon svg {
	display: block;
}

.tmf-feature-text h3 {
	font-size: 1rem !important;
	margin-bottom: 0.25rem !important;
}

.tmf-feature-text p {
	font-size: 0.875rem;
	color: var(--tmf-text-tertiary);
	line-height: 1.6;
}

/* ===== ARTICLES PREVIEW ===== */
.tmf-articles-section {
	padding: 4rem 0 5rem !important;
}

.tmf-articles-section > h2,
.tmf-articles-section > .wp-block-heading {
	margin-bottom: 0.25rem !important;
}

.tmf-articles-section > p {
	margin-bottom: 3rem !important;
}

body.home .tmf-articles-section .wp-block-buttons {
	margin-block-start: 3rem !important;
	margin-top: 3rem !important;
}

.tmf-articles-section > * {
	max-width: 1280px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 1.5rem;
}

.tmf-articles-row {
	gap: 1.5rem !important;
	max-width: 64rem;
	margin: 0 auto;
}

.tmf-articles-row > .wp-block-column > .wp-block-group {
	height: 100%;
}

.tmf-article-card {
	background: var(--tmf-white) !important;
	border-radius: var(--tmf-radius-xl) !important;
	border: 1px solid var(--tmf-border) !important;
	overflow: hidden;
	padding: 1.5rem !important;
	transition: box-shadow 0.3s;
	display: flex;
	flex-direction: column;
}
.tmf-articles-row .tmf-article-card::before {
    display: none;
}

.tmf-article-card:hover {
	box-shadow: var(--tmf-shadow-lg);
}

.tmf-article-accent-orange { border-top: 4px solid #FF5B04 !important; }
.tmf-article-accent-teal { border-top: 4px solid #006F8B !important; }
.tmf-article-accent-darkteal { border-top: 4px solid #0C464C !important; }

/* Article card icons */
.tmf-article-card::before {
	content: "";
	display: block;
	width: 48px;
	height: 48px;
	border-radius: 0.5rem;
	margin-bottom: 1rem;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
}

/* MessagesSquare - Tjáskiptatölva */
.tmf-article-accent-orange::before {
	background-color: rgba(255, 91, 4, 0.07);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FF5B04' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1'/%3E%3C/svg%3E");
}

/* ScanEye - Skjálesari */
.tmf-article-accent-teal::before {
	background-color: rgba(0, 111, 139, 0.07);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23006F8B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7V5a2 2 0 0 1 2-2h2'/%3E%3Cpath d='M17 3h2a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M21 17v2a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M7 21H5a2 2 0 0 1-2-2v-2'/%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Cpath d='M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0'/%3E%3C/svg%3E");
}

/* Lightbulb - Lágtæknilausnir */
.tmf-article-accent-darkteal::before {
	background-color: rgba(12, 70, 76, 0.07);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230C464C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3C/svg%3E");
}

.tmf-article-card h3 {
	font-size: 1rem !important;
	transition: color 0.2s;
}

.tmf-article-card:hover h3 {
	color: var(--tmf-accent);
}

.tmf-article-card p {
	font-size: 0.875rem;
	color: var(--tmf-text-tertiary);
	line-height: 1.7;
}

.tmf-article-card p {
	flex: 1;
}

.tmf-read-more {
	font-size: 1.175rem !important;
	font-weight: 700 !important;
	color: var(--tmf-accent) !important;
	text-decoration: none !important;
	flex: 0 !important;
	margin-top: auto !important;
}

/* ===== CALENDAR PLACEHOLDER ===== */
.tmf-calendar-section {
	padding: 4rem 0 5rem !important;
}

.tmf-calendar-section > h2,
.tmf-calendar-section > .wp-block-heading {
	margin-bottom: 0.25rem !important;
}

.tmf-calendar-section > p {
	margin-bottom: 2.5rem !important;
}

.tmf-calendar-section > * {
	max-width: 1280px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 1.5rem;
	text-align: center;
}

.tmf-placeholder-box {
	background: var(--tmf-light-bg) !important;
	border: 2px dashed var(--tmf-border) !important;
	border-radius: var(--tmf-radius-xl) !important;
	padding: 4rem 2rem !important;
	color: var(--tmf-muted);
}

/* ===== TESTIMONIALS ===== */
.tmf-testimonials-section {
	position: relative;
	overflow: hidden;
	padding-top: 7rem !important;
	padding-bottom: 4rem !important;
	margin-top: -1px !important;
}

.tmf-testimonials-section > .tmf-label {
	margin-bottom: 0.75rem !important;
}

.tmf-testimonials-section > h2,
.tmf-testimonials-section > .wp-block-heading {
	margin-bottom: 3.5rem !important;
}

.tmf-testimonials-section::before {
	content: "";
	position: absolute;
	top: -2px;
	left: 0;
	width: 100%;
	height: calc(5rem + 2px);
	background: white;
	clip-path: polygon(0 0, 100% 100%, 100% 0);
	z-index: 1;
}

.tmf-testimonials-section > * {
	max-width: 1280px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.tmf-testimonials-section .tmf-label {
	color: var(--tmf-accent) !important;
	font-weight: 500;
	letter-spacing: 0.05em;
}

.tmf-testimonial-row {
	max-width: 56rem;
	margin: 0 auto;
	gap: 2rem !important;
}

.tmf-testimonial {
	background: rgba(255, 255, 255, 0.05) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: var(--tmf-radius-xl) !important;
	padding: 1.75rem !important;
}

.tmf-testimonial blockquote,
.tmf-testimonial .wp-block-quote {
	border: none !important;
	padding: 0 !important;
	margin: 0 0 1.5rem 0 !important;
	font-style: normal;
}

.tmf-testimonial .wp-block-quote p {
	color: rgba(255, 255, 255, 0.8);
	line-height: 1.8;
	font-size: 1rem;
}

.tmf-testimonial .wp-block-quote cite {
	display: none;
}

.tmf-testimonial-author {
	display: flex !important;
	flex-direction: row !important;
	gap: 0.75rem !important;
	align-items: center !important;
	padding: 0 !important;
	background: none !important;
}

.tmf-testimonial-avatar {
	width: 2.5rem !important;
	height: 2.5rem !important;
	min-height: 2.5rem !important;
	border-radius: 50% !important;
	background: var(--tmf-accent) !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	color: white;
	font-weight: 600;
	font-size: 0.875rem;
	padding: 0 !important;
	flex-shrink: 0;
}

.tmf-testimonial-avatar p {
	margin: 0;
	color: white !important;
}

.tmf-testimonial-info p {
	margin: 0 !important;
}

.tmf-testimonial-info .tmf-author-name {
	font-size: 0.875rem;
	font-weight: 600;
	color: white !important;
}

.tmf-testimonial-info .tmf-author-role {
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.5) !important;
}

/* ===== CONTACT STRIP ===== */
.tmf-contact-strip {
	padding: 3rem 0 3.5rem !important;
}

.tmf-contact-strip > * {
	max-width: 1280px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 1.5rem;
}

.tmf-contact-strip-row {
	align-items: center !important;
}

.tmf-contact-strip h2 {
	color: white !important;
}

.tmf-contact-strip p {
	color: var(--tmf-primary) !important;
}

.tmf-contact-strip .wp-block-button.is-style-tmf-outline .wp-block-button__link {
	background: var(--tmf-primary) !important;
	color: white !important;
	border: none !important;
}

.tmf-contact-strip .wp-block-button.is-style-tmf-outline .wp-block-button__link:hover {
	background: rgba(22, 35, 42, 0.9) !important;
}

/* Equal-width CTA buttons with gap */
.tmf-contact-strip .wp-block-buttons {
	gap: 0.75rem !important;
	justify-content: flex-end !important;
}

.tmf-contact-strip .wp-block-button__link {
	text-align: center !important;
	padding: 0.75rem 2rem !important;
	font-size: 1.175rem !important;
	font-weight: 700 !important;
	border-radius: var(--tmf-radius-lg, 0.5rem) !important;
	min-width: 11rem !important;
	display: inline-block !important;
}

/* ===== Reduced Motion ===== */
@media (prefers-reduced-motion: reduce) {
	.tmf-service-card,
	.tmf-quick-cat,
	.tmf-article-card,
	.tmf-service-card .wp-block-button__link {
		transition: none !important;
	}
	.tmf-hero-cover::after,
	.tmf-testimonials-section::before {
		clip-path: none;
	}
}
.tmf-hero-cover::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/wp-content/uploads/tmf-watermark-transparent.png');
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
    opacity: 0.25;
    z-index: 1;
    pointer-events: none;
}
.tmf-hero-cover .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
}