/**
 * TechWorld commercial UI polish layer.
 *
 * Keeps component behaviour intact while applying a consistent premium
 * visual language across cards, forms, buttons, header, footer and layouts.
 */

:root {
	--techworld-radius-xl: 1.75rem;
	--techworld-shadow-card: 0 14px 38px rgba(15, 23, 42, 0.075);
	--techworld-shadow-card-hover: 0 28px 68px rgba(15, 23, 42, 0.14);
	--techworld-transition-smooth: 320ms cubic-bezier(.2, .75, .25, 1);
	--techworld-section-divider: linear-gradient(90deg, transparent, rgba(148, 163, 184, .32), transparent);
}

html {
	scroll-padding-top: 112px;
}

body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

::selection {
	background: var(--techworld-color-primary-100);
	color: var(--techworld-color-secondary-900);
}

.site-main {
	isolation: isolate;
}

.techworld-section + .techworld-section {
	position: relative;
}

.techworld-section + .techworld-section::before {
	position: absolute;
	top: 0;
	left: 50%;
	width: min(calc(100% - (var(--techworld-gutter) * 2)), var(--techworld-container-xl));
	height: 1px;
	background: var(--techworld-section-divider);
	content: "";
	transform: translateX(-50%);
}

/* Unified commercial button system. */
.techworld-button,
.header-quote-button,
.techworld-home-link-button,
button[type="submit"],
input[type="submit"] {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 50px;
	border-radius: var(--techworld-radius-pill);
	box-shadow: 0 10px 26px rgba(29, 78, 216, .13);
	font-weight: 780;
	letter-spacing: -.01em;
	transition:
		transform var(--techworld-transition-smooth),
		box-shadow var(--techworld-transition-smooth),
		background-color var(--techworld-transition),
		border-color var(--techworld-transition),
		color var(--techworld-transition);
}

.techworld-button::after,
.header-quote-button::after,
.techworld-home-link-button::after {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,.22) 48%, transparent 76%);
	content: "";
	transform: translateX(-125%);
	transition: transform 650ms cubic-bezier(.2,.75,.25,1);
}

.techworld-button:hover::after,
.techworld-button:focus-visible::after,
.header-quote-button:hover::after,
.header-quote-button:focus-visible::after,
.techworld-home-link-button:hover::after,
.techworld-home-link-button:focus-visible::after {
	transform: translateX(125%);
}

.techworld-button:hover,
.techworld-button:focus-visible,
.header-quote-button:hover,
.header-quote-button:focus-visible,
.techworld-home-link-button:hover,
.techworld-home-link-button:focus-visible,
button[type="submit"]:hover,
button[type="submit"]:focus-visible,
input[type="submit"]:hover,
input[type="submit"]:focus-visible {
	box-shadow: 0 16px 34px rgba(29, 78, 216, .2);
	transform: translateY(-2px);
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled,
[aria-disabled="true"] {
	cursor: not-allowed;
	filter: grayscale(.35);
	opacity: .62;
}

/* Consistent premium card language across all modules. */
.techworld-card,
.entry-card,
.tw-post-card,
.tw-project-card,
.tw-service-card,
.tw-team-card,
.tw-testimonial-card,
.tw-client-card,
.tw-logo-card,
.techworld-home-service-card,
.techworld-home-why-card,
.techworld-home-blog-card,
.tw-sidebar-card,
.tw-error-card {
	position: relative;
	border-color: rgba(203, 213, 225, .78);
	border-radius: var(--techworld-radius-xl);
	box-shadow: var(--techworld-shadow-card);
	transition:
		transform var(--techworld-transition-smooth),
		box-shadow var(--techworld-transition-smooth),
		border-color var(--techworld-transition-smooth),
		background-color var(--techworld-transition-smooth);
}

.techworld-card::before,
.entry-card::before,
.tw-post-card::before,
.tw-project-card::before,
.tw-service-card::before,
.tw-team-card::before,
.tw-testimonial-card::before,
.tw-client-card::before,
.tw-logo-card::before,
.techworld-home-service-card::before,
.techworld-home-why-card::before,
.techworld-home-blog-card::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	border: 1px solid transparent;
	border-radius: inherit;
	background: linear-gradient(135deg, rgba(37,99,235,.13), transparent 36%, rgba(245,158,11,.1)) border-box;
	content: "";
	mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
	mask-composite: exclude;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--techworld-transition-smooth);
}

.techworld-card:hover,
.entry-card:hover,
.tw-post-card:hover,
.tw-project-card:hover,
.tw-service-card:hover,
.tw-team-card:hover,
.tw-testimonial-card:hover,
.tw-client-card:hover,
.tw-logo-card:hover,
.techworld-home-service-card:hover,
.techworld-home-why-card:hover,
.techworld-home-blog-card:hover {
	border-color: rgba(147, 197, 253, .85);
	box-shadow: var(--techworld-shadow-card-hover);
	transform: translateY(-7px);
}

.techworld-card:hover::before,
.entry-card:hover::before,
.tw-post-card:hover::before,
.tw-project-card:hover::before,
.tw-service-card:hover::before,
.tw-team-card:hover::before,
.tw-testimonial-card:hover::before,
.tw-client-card:hover::before,
.tw-logo-card:hover::before,
.techworld-home-service-card:hover::before,
.techworld-home-why-card:hover::before,
.techworld-home-blog-card:hover::before {
	opacity: 1;
}

.tw-post-card__media,
.tw-project-card__media,
.tw-service-card__media,
.tw-team-card__media,
.techworld-home-blog-card__media,
.techworld-home-service-card__media {
	overflow: hidden;
	border-radius: var(--techworld-radius-xl) var(--techworld-radius-xl) 0 0;
	background: var(--techworld-color-surface-alt);
}

.tw-post-card__media img,
.tw-project-card__media img,
.tw-service-card__media img,
.tw-team-card__media img,
.techworld-home-blog-card__media img,
.techworld-home-service-card__media img {
	width: 100%;
	transition: transform 700ms cubic-bezier(.2,.75,.25,1), filter var(--techworld-transition-smooth);
}

.tw-post-card:hover .tw-post-card__media img,
.tw-project-card:hover .tw-project-card__media img,
.tw-service-card:hover .tw-service-card__media img,
.tw-team-card:hover .tw-team-card__media img,
.techworld-home-blog-card:hover .techworld-home-blog-card__media img,
.techworld-home-service-card:hover .techworld-home-service-card__media img {
	filter: saturate(1.06) contrast(1.02);
	transform: scale(1.055);
}

/* Typography and content rhythm. */
.entry-content,
.tw-project-content,
.tw-service-content,
.tw-team-profile__content {
	font-size: clamp(1rem, .96rem + .15vw, 1.075rem);
}

.entry-content > * + *,
.tw-project-content > * + *,
.tw-service-content > * + * {
	margin-block-start: 1.15em;
}

.entry-content a:not(.techworld-button),
.comment-content a,
.widget_text a {
	text-decoration-thickness: .08em;
	text-underline-offset: .18em;
}

/* Refined forms with clear validation states. */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
select,
textarea {
	min-height: 52px;
	padding-inline: 1rem;
	border-color: rgba(148, 163, 184, .56);
	border-radius: .8rem;
	background-color: rgba(255,255,255,.98);
	box-shadow: inset 0 1px 2px rgba(15,23,42,.025);
	transition:
		border-color var(--techworld-transition),
		box-shadow var(--techworld-transition),
		background-color var(--techworld-transition);
}

textarea {
	padding-block: .9rem;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):hover,
select:hover,
textarea:hover {
	border-color: rgba(100, 116, 139, .72);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
select:focus,
textarea:focus {
	border-color: var(--techworld-color-primary-500);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(37,99,235,.1), 0 12px 30px rgba(15,23,42,.055);
	outline: 0;
}

input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
	border-color: var(--techworld-color-danger);
	box-shadow: 0 0 0 4px rgba(185,28,28,.08);
}

/* Header polish: stronger sticky state without layout shift. */
.site-header {
	transition: filter var(--techworld-transition-smooth);
}

.header-main {
	transition:
		background-color var(--techworld-transition-smooth),
		box-shadow var(--techworld-transition-smooth),
		border-color var(--techworld-transition-smooth),
		backdrop-filter var(--techworld-transition-smooth);
}

.site-header.is-scrolled .header-main {
	border-bottom-color: rgba(203,213,225,.74);
	background: rgba(255,255,255,.92);
	box-shadow: 0 16px 42px rgba(15,23,42,.09);
	backdrop-filter: blur(18px) saturate(1.35);
}

.site-header.is-scrolled .header-main__inner {
	min-height: 72px;
}

.primary-navigation > ul > li > a {
	position: relative;
}

.primary-navigation > ul > li > a::after {
	position: absolute;
	right: .75rem;
	bottom: .35rem;
	left: .75rem;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--techworld-color-primary-500), var(--techworld-color-accent-400));
	content: "";
	transform: scaleX(0);
	transform-origin: center;
	transition: transform var(--techworld-transition-smooth);
}

.primary-navigation > ul > li:hover > a::after,
.primary-navigation > ul > li.current-menu-item > a::after,
.primary-navigation > ul > li.current-menu-ancestor > a::after,
.primary-navigation > ul > li > a:focus-visible::after {
	transform: scaleX(1);
}

/* Footer finishing details. */
.site-footer__main::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
	content: "";
}

.site-footer__address p {
	transition: border-color var(--techworld-transition), background-color var(--techworld-transition), transform var(--techworld-transition);
}

.site-footer__address p:hover {
	border-color: rgba(255,255,255,.14);
	background: rgba(255,255,255,.045);
	transform: translateX(3px);
}

/* Responsive refinement. */
@media (max-width: 1199px) {
	:root {
		--techworld-gutter: clamp(1.25rem, 3vw, 2.5rem);
	}

	.techworld-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	html {
		scroll-padding-top: 84px;
	}

	:root {
		--techworld-radius-xl: 1.25rem;
	}

	.techworld-section {
		padding-block: clamp(3rem, 12vw, 4.5rem);
	}

	.techworld-grid--2,
	.techworld-grid--3,
	.techworld-grid--4,
	.tw-card-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.techworld-button,
	.header-quote-button,
	.techworld-home-link-button {
		min-height: 48px;
	}

	.techworld-card:hover,
	.entry-card:hover,
	.tw-post-card:hover,
	.tw-project-card:hover,
	.tw-service-card:hover,
	.tw-team-card:hover,
	.tw-testimonial-card:hover,
	.tw-client-card:hover,
	.tw-logo-card:hover,
	.techworld-home-service-card:hover,
	.techworld-home-why-card:hover,
	.techworld-home-blog-card:hover {
		transform: translateY(-3px);
	}
}

@media (max-width: 380px) {
	:root {
		--techworld-gutter: 1rem;
	}

	.techworld-button,
	.header-quote-button,
	.techworld-home-link-button,
	button[type="submit"],
	input[type="submit"] {
		width: 100%;
	}
}

@media (hover: none) {
	.techworld-card:hover,
	.entry-card:hover,
	.tw-post-card:hover,
	.tw-project-card:hover,
	.tw-service-card:hover,
	.tw-team-card:hover,
	.tw-testimonial-card:hover,
	.tw-client-card:hover,
	.tw-logo-card:hover,
	.techworld-home-service-card:hover,
	.techworld-home-why-card:hover,
	.techworld-home-blog-card:hover {
		box-shadow: var(--techworld-shadow-card);
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.techworld-button::after,
	.header-quote-button::after,
	.techworld-home-link-button::after {
		display: none;
	}

	.tw-post-card__media img,
	.tw-project-card__media img,
	.tw-service-card__media img,
	.tw-team-card__media img,
	.techworld-home-blog-card__media img,
	.techworld-home-service-card__media img {
		transition: none;
	}
}
