/**
 * GSEWS Theme - Responsive Stylesheet
 *
 * Global responsive rules for desktop, tablet, and mobile.
 *
 * @package GSEWS_Theme
 * @since 1.0.0
 */

/* ==========================================================
   01. LARGE DESKTOP
========================================================== */

@media (min-width: 1440px) {
	.gsews-container {
		width: min(100% - 64px, var(--gsews-container));
	}

	.gsews-section {
		padding-top: 110px;
		padding-bottom: 110px;
	}
}

/* ==========================================================
   02. SMALL DESKTOP / LARGE TABLET
========================================================== */

@media (max-width: 1180px) {
	:root {
		--gsews-section-padding: 82px;
		--gsews-section-padding-small: 56px;
	}

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

	.gsews-content-layout {
		grid-template-columns: minmax(0, 1fr) 310px;
		gap: 34px;
	}

	.gsews-post-grid {
		gap: 24px;
	}

	.gsews-page-hero {
		padding: 66px 0 62px;
	}
}

/* ==========================================================
   03. TABLET
========================================================== */

@media (max-width: 1024px) {
	body {
		font-size: 15.5px;
	}

	.gsews-container,
	.gsews-container-small {
		width: min(100% - 36px, var(--gsews-container));
	}

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

	.gsews-content-layout {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.gsews-sidebar {
		max-width: 720px;
		width: 100%;
	}

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

	.gsews-section-header {
		margin-bottom: 40px;
	}

	.gsews-single-navigation {
		grid-template-columns: 1fr;
	}

	.gsews-single-nav-next {
		text-align: left;
	}
}

/* ==========================================================
   04. MOBILE LANDSCAPE / SMALL TABLET
========================================================== */

@media (max-width: 767px) {
	:root {
		--gsews-section-padding: 64px;
		--gsews-section-padding-small: 46px;

		--gsews-radius-lg: 20px;
		--gsews-radius-md: 14px;
	}

	body {
		font-size: 15px;
		line-height: 1.65;
	}

	h1 {
		font-size: clamp(2.05rem, 10vw, 3.1rem);
	}

	h2 {
		font-size: clamp(1.75rem, 8vw, 2.45rem);
	}

	h3 {
		font-size: clamp(1.25rem, 6vw, 1.75rem);
	}

	p {
		margin-bottom: 16px;
	}

	.gsews-container,
	.gsews-container-small {
		width: min(100% - 30px, var(--gsews-container));
	}

	.gsews-section {
		padding-top: var(--gsews-section-padding);
		padding-bottom: var(--gsews-section-padding);
	}

	.gsews-section-small {
		padding-top: var(--gsews-section-padding-small);
		padding-bottom: var(--gsews-section-padding-small);
	}

	.gsews-section-header {
		margin-bottom: 34px;
		text-align: left;
	}

	.gsews-section-kicker {
		font-size: 0.76rem;
	}

	.gsews-section-subtitle,
	.gsews-page-subtitle {
		font-size: 1rem;
	}

	.gsews-grid,
	.gsews-grid-2,
	.gsews-grid-3,
	.gsews-grid-4 {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.gsews-page-hero {
		padding: 54px 0 50px;
	}

	.gsews-breadcrumb {
		margin-bottom: 14px;
		font-size: 0.84rem;
	}

	.gsews-page-title {
		max-width: 100%;
	}

	.gsews-search-hero-form {
		margin-top: 22px;
	}

	.gsews-post-grid {
		grid-template-columns: 1fr;
	}

	.gsews-post-card-content {
		padding: 22px;
	}

	.gsews-post-title {
		font-size: 1.22rem;
	}

	.gsews-widget {
		padding: 22px;
	}

	.gsews-single-featured-image {
		margin-bottom: 28px;
	}

	.gsews-single-content {
		font-size: 1rem;
	}

	.gsews-single-tags {
		margin-top: 30px;
	}

	.gsews-single-navigation a {
		padding: 20px;
	}

	.gsews-comments-area {
		margin-top: 40px;
		padding-top: 30px;
	}

	.gsews-comment-list .comment {
		padding: 20px;
	}

	.gsews-empty-state,
	.gsews-error-content {
		padding: 34px 24px;
	}

	.gsews-empty-actions,
	.gsews-error-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.gsews-empty-actions .gsews-btn,
	.gsews-error-actions .gsews-btn {
		width: 100%;
	}

	.gsews-error-links ul {
		flex-direction: column;
		gap: 8px;
	}

	.gsews-entry-content table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}

	.alignwide,
	.alignfull {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
}

/* ==========================================================
   05. MOBILE PORTRAIT
========================================================== */

@media (max-width: 575px) {
	:root {
		--gsews-section-padding: 56px;
		--gsews-section-padding-small: 40px;
	}

	.gsews-container,
	.gsews-container-small {
		width: min(100% - 28px, var(--gsews-container));
	}

	.gsews-btn {
		width: 100%;
		min-height: 46px;
		padding: 12px 18px;
		font-size: 0.9rem;
		white-space: normal;
	}

	.gsews-page-hero {
		padding: 46px 0 44px;
	}

	.gsews-section-header {
		margin-bottom: 28px;
	}

	.gsews-section-kicker {
		padding: 7px 12px;
	}

	input[type="text"],
	input[type="email"],
	input[type="url"],
	input[type="tel"],
	input[type="number"],
	input[type="password"],
	input[type="search"],
	select,
	textarea {
		min-height: 46px;
		padding: 11px 14px;
	}

	.gsews-search-submit {
		width: 38px;
		min-width: 38px;
		height: 38px;
		min-height: 38px;
	}

	.gsews-post-card-content {
		padding: 20px;
	}

	.gsews-post-meta,
	.gsews-single-meta-top {
		font-size: 0.8rem;
	}

	.gsews-pagination .nav-links {
		justify-content: center;
	}

	.gsews-pagination .page-numbers {
		min-width: 38px;
		height: 38px;
		padding: 0 12px;
		font-size: 0.88rem;
	}

	.gsews-widget {
		padding: 20px;
	}

	.gsews-widget-title {
		font-size: 1.1rem;
	}

	.gsews-single-navigation a {
		padding: 18px;
	}

	.gsews-error-code {
		font-size: clamp(3.8rem, 20vw, 5.8rem);
	}
}

/* ==========================================================
   06. SMALL MOBILE
========================================================== */

@media (max-width: 420px) {
	body {
		font-size: 14.5px;
	}

	.gsews-container,
	.gsews-container-small {
		width: min(100% - 24px, var(--gsews-container));
	}

	.gsews-section {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.gsews-section-small {
		padding-top: 36px;
		padding-bottom: 36px;
	}

	.gsews-page-hero {
		padding: 40px 0 38px;
	}

	.gsews-section-kicker {
		font-size: 0.7rem;
		letter-spacing: 0.045em;
	}

	.gsews-post-card-content,
	.gsews-widget {
		padding: 18px;
	}

	.gsews-empty-state,
	.gsews-error-content {
		padding: 30px 18px;
	}

	.gsews-entry-content blockquote {
		padding: 20px;
	}

	.gsews-entry-content th,
	.gsews-entry-content td {
		padding: 12px;
	}
}

/* ==========================================================
   07. WORDPRESS ADMIN BAR MOBILE FIX
========================================================== */

@media (max-width: 600px) {
	body.admin-bar .gsews-header {
		top: 0;
	}

	body.admin-bar .gsews-mobile-menu {
		top: 0;
		height: 100vh;
	}
}

/* ==========================================================
   08. PRINT BASIC CLEANUP
========================================================== */

@media print {
	.gsews-header,
	.gsews-footer,
	.gsews-sidebar,
	.gsews-floating-whatsapp,
	.gsews-back-to-top,
	.gsews-mobile-menu,
	.gsews-mobile-menu-backdrop {
		display: none !important;
	}

	body {
		background: #ffffff;
		color: #000000;
	}

	a {
		color: #000000;
		text-decoration: underline;
	}

	.gsews-section,
	.gsews-page-hero {
		padding: 0;
		background: transparent;
	}

	.gsews-container {
		width: 100%;
	}
}

/* ==========================================================
   GSEWS v1.1.0 — FINAL MOBILE PROFESSIONAL POLISH
   This layer is intentionally high-specificity and !important
   so live hosting cache/minify conflicts do not keep the old bulky mobile layout.
========================================================== */

@media screen and (max-width: 820px) {
	:root {
		--gsews-phone-bg: #f7fbff;
		--gsews-phone-border: rgba(226, 232, 240, 0.82);
		--gsews-phone-shadow: 0 8px 20px rgba(15, 23, 42, 0.07);
		--gsews-phone-shadow-soft: 0 4px 12px rgba(15, 23, 42, 0.055);
	}

	html {
		scroll-behavior: smooth !important;
	}

	html,
	body {
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	body {
		background: var(--gsews-phone-bg) !important;
		font-size: 14px !important;
		line-height: 1.52 !important;
	}

	.gsews-container,
	.gsews-container-small {
		width: calc(100% - 24px) !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Header */
	.gsews-header-top,
	.gsews-topbar {
		display: none !important;
		height: 0 !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	.gsews-site-header {
		position: sticky !important;
		top: 0 !important;
		z-index: 9999 !important;
		background: rgba(255, 255, 255, 0.97) !important;
		-webkit-backdrop-filter: blur(14px) saturate(150%) !important;
		backdrop-filter: blur(14px) saturate(150%) !important;
		box-shadow: 0 6px 18px rgba(15, 23, 42, 0.075) !important;
	}

	body.admin-bar .gsews-site-header {
		top: 0 !important;
	}

	.gsews-header-main {
		background: transparent !important;
		border-bottom: 1px solid rgba(226, 232, 240, 0.82) !important;
		box-shadow: none !important;
	}

	.gsews-header-main-inner {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		align-items: center !important;
		min-height: 64px !important;
		gap: 10px !important;
		padding-top: 7px !important;
		padding-bottom: 7px !important;
	}

	.gsews-site-branding,
	.gsews-brand-lockup,
	.gsews-brand-name-wrap {
		min-width: 0 !important;
		max-width: 100% !important;
	}

	.gsews-brand-lockup {
		display: grid !important;
		grid-template-columns: 46px minmax(0, 1fr) !important;
		gap: 9px !important;
		align-items: center !important;
		text-decoration: none !important;
	}

	.gsews-brand-logo {
		width: 46px !important;
		height: 46px !important;
		min-width: 46px !important;
		border-radius: 14px !important;
		background: #ffffff !important;
		border: 1px solid rgba(226, 232, 240, 0.95) !important;
		box-shadow: 0 6px 14px rgba(15, 23, 42, 0.08) !important;
		overflow: hidden !important;
	}

	.gsews-brand-logo-image,
	.gsews-brand-logo img,
	.gsews-brand-logo .custom-logo {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		padding: 0 !important;
		object-fit: contain !important;
		transform: scale(1.18) !important;
		transform-origin: center !important;
	}

	.gsews-brand-name-wrap strong {
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		max-width: 100% !important;
		font-size: clamp(0.84rem, 3.65vw, 1rem) !important;
		line-height: 1.16 !important;
		font-weight: 900 !important;
		letter-spacing: -0.035em !important;
		color: #0f172a !important;
	}

	.gsews-brand-name-wrap small {
		display: none !important;
	}

	.gsews-main-navigation,
	.gsews-header-cta,
	.gsews-header-cta-wrap {
		display: none !important;
	}

	.gsews-header-actions {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
	}

	.gsews-mobile-menu-toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
		padding: 0 !important;
		background: #ffffff !important;
		color: var(--gsews-primary) !important;
		border: 1px solid rgba(11, 87, 208, 0.18) !important;
		border-radius: 14px !important;
		box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08) !important;
	}

	.gsews-mobile-menu-toggle[aria-expanded="true"] {
		background: var(--gsews-primary) !important;
		color: #ffffff !important;
		border-color: var(--gsews-primary) !important;
	}

	.gsews-mobile-menu-line {
		width: 19px !important;
		height: 2px !important;
		margin: 2.5px 0 !important;
		background: currentColor !important;
		border-radius: 999px !important;
	}

	.gsews-mobile-menu-panel {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		top: 64px !important;
		z-index: 9998 !important;
		background: rgba(255, 255, 255, 0.985) !important;
		border-bottom: 1px solid rgba(226, 232, 240, 0.9) !important;
		box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12) !important;
		max-height: calc(100vh - 64px) !important;
		overflow-y: auto !important;
	}

	.gsews-mobile-menu-panel[hidden] {
		display: none !important;
	}

	.gsews-mobile-menu-panel-inner {
		width: calc(100% - 24px) !important;
		margin: 0 auto !important;
		padding: 12px 0 14px !important;
		box-shadow: none !important;
		border-radius: 0 !important;
	}

	.gsews-mobile-menu-panel .gsews-mobile-menu {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
		position: static !important;
		width: 100% !important;
		height: auto !important;
		background: transparent !important;
		box-shadow: none !important;
		transform: none !important;
		overflow: visible !important;
	}

	.gsews-mobile-menu a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 38px !important;
		padding: 8px 8px !important;
		background: #f8fafc !important;
		border: 1px solid rgba(226, 232, 240, 0.94) !important;
		border-radius: 12px !important;
		color: #0f172a !important;
		font-size: 0.8rem !important;
		font-weight: 850 !important;
		line-height: 1.16 !important;
		text-align: center !important;
		text-decoration: none !important;
	}

	.gsews-mobile-menu-contact {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 8px !important;
		padding-top: 10px !important;
		margin-top: 10px !important;
		border-top: 1px solid rgba(226, 232, 240, 0.86) !important;
	}

	.gsews-mobile-menu-contact > a:not(.gsews-btn),
	.gsews-mobile-menu-contact .gsews-btn {
		min-height: 38px !important;
		padding: 8px 10px !important;
		border-radius: 12px !important;
		font-size: 0.76rem !important;
		line-height: 1.18 !important;
		word-break: break-word !important;
	}

	.gsews-mobile-menu-contact .gsews-btn {
		grid-column: 1 / -1 !important;
	}

	/* Global spacing and typography */
	.gsews-section,
	.gsews-dynamic-page-section,
	.gsews-legal-section {
		padding-top: 28px !important;
		padding-bottom: 28px !important;
	}

	.gsews-section-header {
		margin-bottom: 16px !important;
		text-align: left !important;
	}

	.gsews-section-kicker,
	.gsews-hero-kicker {
		padding: 5px 9px !important;
		border-radius: 999px !important;
		font-size: 0.6rem !important;
		line-height: 1.28 !important;
		letter-spacing: 0.055em !important;
	}

	.gsews-section-header h2,
	.gsews-contact-info-panel h2,
	.gsews-contact-form-panel h2,
	.gsews-courses-intro h2,
	.gsews-courses-process h2,
	.gsews-courses-cta h2,
	.gsews-notice-help-card h2,
	.gsews-gallery-guide-card h2,
	.gsews-blog-guide-card h2 {
		font-size: clamp(1.25rem, 5.5vw, 1.58rem) !important;
		line-height: 1.12 !important;
		letter-spacing: -0.035em !important;
		margin-bottom: 8px !important;
	}

	.gsews-section-header p,
	.gsews-contact-info-panel p,
	.gsews-contact-form-panel p,
	.gsews-courses-intro p,
	.gsews-courses-note p,
	.gsews-courses-cta p,
	.gsews-page-subtitle,
	.gsews-entry-content,
	.gsews-legal-content {
		font-size: 0.86rem !important;
		line-height: 1.54 !important;
	}

	/* Homepage hero compact */
	.gsews-hero {
		padding: 24px 0 28px !important;
	}

	.gsews-hero-inner {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.gsews-hero-title {
		font-size: clamp(1.52rem, 7.15vw, 1.92rem) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.055em !important;
		margin: 10px 0 10px !important;
	}

	.gsews-hero-text {
		font-size: 0.9rem !important;
		line-height: 1.55 !important;
		margin-bottom: 12px !important;
	}

	.gsews-hero-actions {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 8px !important;
		margin-top: 0 !important;
	}

	.gsews-btn,
	button,
	input[type="submit"],
	.gsews-hero-actions .gsews-btn,
	.gsews-footer-actions .gsews-btn {
		min-height: 38px !important;
		padding: 9px 12px !important;
		border-radius: 999px !important;
		font-size: 0.78rem !important;
		font-weight: 850 !important;
		line-height: 1.15 !important;
		box-shadow: 0 6px 14px rgba(15, 23, 42, 0.075) !important;
	}

	.gsews-btn {
		width: 100% !important;
		justify-content: center !important;
	}

	.gsews-hero-note {
		margin-top: 10px !important;
		font-size: 0.76rem !important;
		line-height: 1.4 !important;
	}

	.gsews-hero-stats {
		display: none !important;
	}

	.gsews-hero-visual {
		min-height: 0 !important;
		margin-top: 0 !important;
	}

	.gsews-hero-image-card {
		height: auto !important;
		min-height: 0 !important;
		padding: 7px !important;
		border-radius: 18px !important;
		box-shadow: var(--gsews-phone-shadow) !important;
	}

	.gsews-hero-image-card img,
	.gsews-hero-image {
		aspect-ratio: 4 / 3 !important;
		height: auto !important;
		max-height: 260px !important;
		object-fit: cover !important;
		border-radius: 14px !important;
	}

	/* Inner page hero */
	.gsews-page-hero,
	.gsews-page-hero-simple {
		padding: 24px 0 22px !important;
		box-shadow: none !important;
		border-radius: 0 !important;
	}

	.gsews-breadcrumb,
	.gsews-breadcrumb a,
	.gsews-breadcrumb span {
		font-size: 0.72rem !important;
		line-height: 1.25 !important;
	}

	.gsews-page-title {
		font-size: clamp(1.45rem, 6.5vw, 1.85rem) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.045em !important;
		margin: 8px 0 8px !important;
	}

	/* Cards */
	.gsews-service-card,
	.gsews-course-card,
	.gsews-course-category-card,
	.gsews-college-card,
	.gsews-testimonial-card,
	.gsews-faq-item,
	.gsews-contact-card,
	.gsews-contact-info-panel,
	.gsews-contact-form-panel,
	.gsews-contact-map-card,
	.gsews-notice-card,
	.gsews-gallery-card,
	.gsews-blog-card,
	.gsews-courses-intro > div:first-child,
	.gsews-courses-intro-card,
	.gsews-courses-process-card,
	.gsews-courses-note,
	.gsews-courses-cta,
	.gsews-student-journey-step-content,
	.gsews-student-journey-support-card,
	.gsews-student-journey-documents,
	.gsews-student-journey-cta,
	.gsews-empty-state,
	.gsews-404-card,
	.gsews-404-link-card {
		padding: 12px !important;
		border-radius: 14px !important;
		box-shadow: var(--gsews-phone-shadow-soft) !important;
		border-color: var(--gsews-phone-border) !important;
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
	}

	.gsews-services-grid,
	.gsews-courses-grid,
	.gsews-courses-process-grid,
	.gsews-colleges-grid,
	.gsews-notice-grid,
	.gsews-gallery-grid,
	.gsews-blog-grid,
	.gsews-student-journey-support-grid {
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}

	.gsews-service-icon,
	.gsews-course-category-icon,
	.gsews-student-journey-step-icon,
	.gsews-contact-info-icon,
	.gsews-empty-state-icon,
	.gsews-404-link-icon,
	.gsews-college-logo,
	.gsews-college-icon {
		width: 34px !important;
		height: 34px !important;
		min-width: 34px !important;
		margin-bottom: 8px !important;
		border-radius: 10px !important;
		font-size: 0.9rem !important;
	}

	.gsews-service-card h3,
	.gsews-course-category-card h3,
	.gsews-courses-process-card h3,
	.gsews-college-card h3,
	.gsews-gallery-title,
	.gsews-blog-title,
	.gsews-notice-title,
	.gsews-student-journey-step-content h3,
	.gsews-student-journey-support-card h3 {
		font-size: 0.96rem !important;
		line-height: 1.25 !important;
		margin-bottom: 6px !important;
	}

	.gsews-service-card p,
	.gsews-course-category-card p,
	.gsews-courses-process-card p,
	.gsews-college-card p,
	.gsews-gallery-excerpt,
	.gsews-blog-excerpt,
	.gsews-notice-excerpt,
	.gsews-student-journey-step-content p,
	.gsews-student-journey-support-card p {
		font-size: 0.82rem !important;
		line-height: 1.48 !important;
		margin-bottom: 8px !important;
	}

	.gsews-service-link,
	.gsews-gallery-read-more,
	.gsews-blog-read-more {
		font-size: 0.76rem !important;
		padding-top: 3px !important;
	}

	.gsews-course-program-tags span,
	.gsews-course-tags span,
	.gsews-course-category-tags span,
	.gsews-courses-tags span {
		padding: 4px 7px !important;
		font-size: 0.62rem !important;
		line-height: 1.2 !important;
	}

	/* Journey timeline */
	.gsews-student-journey-timeline::before {
		left: 15px !important;
	}

	.gsews-student-journey-step {
		grid-template-columns: 32px minmax(0, 1fr) !important;
		gap: 9px !important;
		margin-bottom: 10px !important;
	}

	.gsews-student-journey-step-number {
		width: 30px !important;
		height: 30px !important;
		font-size: 0.66rem !important;
		box-shadow: 0 5px 12px rgba(11, 87, 208, 0.18) !important;
	}

	/* FAQ / forms */
	.gsews-faq-item summary {
		padding: 10px 38px 10px 12px !important;
		font-size: 0.82rem !important;
		line-height: 1.32 !important;
	}

	.gsews-faq-content,
	.gsews-faq-item p {
		padding-left: 12px !important;
		padding-right: 12px !important;
		font-size: 0.82rem !important;
		line-height: 1.5 !important;
	}

	.gsews-form-field input,
	.gsews-form-field textarea,
	.gsews-search-form input[type="search"] {
		min-height: 40px !important;
		padding: 9px 11px !important;
		font-size: 0.82rem !important;
		border-radius: 11px !important;
	}

	.gsews-form-field textarea {
		min-height: 90px !important;
	}

	/* 404 */
	.gsews-404-section {
		min-height: auto !important;
		padding-top: 24px !important;
		padding-bottom: 24px !important;
	}

	.gsews-404-card {
		margin-bottom: 20px !important;
		text-align: center !important;
	}

	.gsews-404-badge {
		width: 52px !important;
		height: 52px !important;
		margin-bottom: 8px !important;
		border-radius: 14px !important;
		font-size: 1.15rem !important;
	}

	.gsews-404-title,
	.gsews-404-card h1 {
		font-size: clamp(1.22rem, 6.1vw, 1.55rem) !important;
		line-height: 1.12 !important;
		margin: 8px 0 !important;
	}

	.gsews-404-card p {
		font-size: 0.82rem !important;
		line-height: 1.48 !important;
		margin-bottom: 12px !important;
	}

	.gsews-404-search {
		display: none !important;
	}

	.gsews-404-actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 7px !important;
		margin-top: 12px !important;
	}

	.gsews-404-link-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 9px !important;
	}

	.gsews-404-link-card strong {
		font-size: 0.76rem !important;
	}

	.gsews-404-link-arrow {
		display: none !important;
	}

	/* Footer */
	.gsews-site-footer {
		margin-top: 0 !important;
	}

	.gsews-footer-main {
		padding-top: 24px !important;
		padding-bottom: 20px !important;
	}

	.gsews-footer-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.gsews-footer-brand-modern,
	.gsews-footer-brand {
		display: grid !important;
		grid-template-columns: 46px minmax(0, 1fr) !important;
		align-items: center !important;
		gap: 10px !important;
		padding: 10px !important;
		border-radius: 15px !important;
		background: rgba(255, 255, 255, 0.07) !important;
	}

	.gsews-footer-logo-box,
	.gsews-footer-brand-mark {
		width: 46px !important;
		height: 46px !important;
		min-width: 46px !important;
		border-radius: 13px !important;
	}

	.gsews-footer-logo-image {
		padding: 0 !important;
		transform: scale(1.16) !important;
		object-fit: contain !important;
	}

	.gsews-footer-brand-text strong {
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		font-size: 0.9rem !important;
		line-height: 1.18 !important;
		letter-spacing: -0.025em !important;
	}

	.gsews-footer-brand-text small {
		display: inline-flex !important;
		margin-top: 4px !important;
		padding: 3px 7px !important;
		font-size: 0.6rem !important;
	}

	.gsews-footer-description {
		margin-top: 10px !important;
		font-size: 0.76rem !important;
		line-height: 1.48 !important;
	}

	.gsews-footer-registration,
	.gsews-footer-registration-card {
		margin-top: 10px !important;
		padding: 9px 10px !important;
		border-radius: 12px !important;
		font-size: 0.7rem !important;
		line-height: 1.38 !important;
	}

	.gsews-footer-title,
	.gsews-footer-column-title {
		margin-bottom: 8px !important;
		font-size: 0.95rem !important;
		line-height: 1.15 !important;
	}

	.gsews-footer-title::after,
	.gsews-footer-column-title::after {
		width: 36px !important;
		height: 3px !important;
		margin-top: 6px !important;
	}

	.gsews-footer-navigation .gsews-footer-menu {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 6px 10px !important;
	}

	.gsews-footer-menu,
	.gsews-footer-services {
		gap: 6px !important;
	}

	.gsews-footer-menu a,
	.gsews-footer-services a {
		font-size: 0.73rem !important;
		line-height: 1.35 !important;
	}

	.gsews-footer-contact-list {
		display: grid !important;
		gap: 9px !important;
	}

	.gsews-footer-contact-list li,
	.gsews-footer-contact-item {
		display: grid !important;
		grid-template-columns: 26px minmax(0, 1fr) !important;
		gap: 8px !important;
		font-size: 0.72rem !important;
		line-height: 1.38 !important;
	}

	.gsews-footer-contact-icon {
		width: 26px !important;
		height: 26px !important;
		font-size: 0.68rem !important;
	}

	.gsews-footer-actions {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 7px !important;
		margin-top: 12px !important;
	}

	.gsews-footer-actions .gsews-btn {
		min-height: 34px !important;
		padding: 8px 8px !important;
		font-size: 0.72rem !important;
	}

	.gsews-footer-middle {
		padding: 12px 0 !important;
	}

	.gsews-footer-middle-inner {
		display: grid !important;
		gap: 10px !important;
	}

	.gsews-footer-social-modern,
	.gsews-footer-social {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 7px !important;
		width: 100% !important;
	}

	.gsews-footer-social-modern .gsews-footer-social-link,
	.gsews-footer-social a {
		justify-content: center !important;
		min-height: 32px !important;
		padding: 6px 7px !important;
		border-radius: 999px !important;
		font-size: 0.66rem !important;
		gap: 4px !important;
	}

	.gsews-footer-social-icon {
		width: 17px !important;
		height: 17px !important;
		font-size: 0.62rem !important;
	}

	.gsews-footer-short-text {
		font-size: 0.72rem !important;
		text-align: center !important;
	}

	.gsews-footer-bottom {
		padding: 12px 0 !important;
	}

	.gsews-footer-bottom-inner {
		display: grid !important;
		gap: 7px !important;
		text-align: center !important;
	}

	.gsews-footer-copyright,
	.gsews-footer-bottom,
	.gsews-footer-bottom a,
	.gsews-footer-legal-nav,
	.gsews-footer-legal-nav a {
		font-size: 0.66rem !important;
		line-height: 1.45 !important;
	}

	.gsews-footer-legal-nav {
		display: flex !important;
		justify-content: center !important;
		flex-wrap: wrap !important;
		gap: 3px 7px !important;
	}
}

@media screen and (max-width: 430px) {
	.gsews-container,
	.gsews-container-small,
	.gsews-mobile-menu-panel-inner {
		width: calc(100% - 20px) !important;
	}

	.gsews-brand-lockup {
		grid-template-columns: 42px minmax(0, 1fr) !important;
		gap: 8px !important;
	}

	.gsews-brand-logo {
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
	}

	.gsews-brand-name-wrap strong {
		font-size: clamp(0.78rem, 3.72vw, 0.9rem) !important;
	}

	.gsews-mobile-menu-toggle {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
	}

	.gsews-hero-actions {
		grid-template-columns: 1fr !important;
	}

	.gsews-hero-title {
		font-size: clamp(1.42rem, 7vw, 1.74rem) !important;
	}

	.gsews-404-link-grid,
	.gsews-footer-social-modern,
	.gsews-footer-social {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media screen and (max-width: 360px) {
	.gsews-mobile-menu-panel .gsews-mobile-menu,
	.gsews-mobile-menu-contact,
	.gsews-404-link-grid,
	.gsews-footer-navigation .gsews-footer-menu,
	.gsews-footer-social-modern,
	.gsews-footer-social,
	.gsews-footer-actions {
		grid-template-columns: 1fr !important;
	}
}
