/**
 * Responsive overrides — must load after main.css.
 *
 * @package BrandCraftors_Softy
 */

/* ── Desktop nav reset ── */
@media (min-width: 1025px) {
	.ss-header__inner {
		grid-template-columns: 1fr auto 1fr;
	}

	.ss-nav {
		position: static;
		transform: none !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		padding: 0 !important;
		max-height: none;
		overflow: visible;
	}

	.ss-nav__list {
		flex-direction: row;
		align-items: center;
		gap: 36px;
	}

	.ss-menu-toggle {
		display: none !important;
	}

	body.ss-nav-open {
		overflow: auto;
	}
}

/* ── Tablet landscape / small laptop ── */
@media (max-width: 1180px) {
	:root {
		--ss-section-gap: 88px;
	}

	.ss-hero__right {
		display: none;
	}

	.ss-reviews__layout,
	.ss-pricing__grid,
	.ss-services-home__grid,
	.ss-svc-grid,
	.ss-page-grid--projects,
	.ss-page-grid--services,
	.ss-inner__stats,
	.ss-inner__stats--wide,
	.ss-inner__features,
	.ss-about-process__grid,
	.ss-industries-grid,
	.ss-contact-grid,
	.ss-footer__main,
	.ss-service-hero__grid,
	.ss-service-single__layout,
	.ss-why__grid,
	.ss-work__grid {
		grid-template-columns: 1fr !important;
	}

	.ss-pricing__grid {
		max-width: 480px;
		margin-inline: auto;
	}

	.ss-about-values {
		grid-template-columns: 1fr;
	}

	.ss-about-industries__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ss-about-stats {
		grid-template-columns: repeat(2, 1fr);
	}

	.ss-services-benefits__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ss-sticky-work,
	.ss-videos-section,
	.ss-reviews,
	.ss-faq,
	.ss-cta,
	.ss-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	.ss-videos-section {
		padding-top: 56px;
		padding-bottom: 40px;
	}

	.ss-sticky-work {
		padding-left: 20px;
		padding-right: 20px;
	}

	.ss-inner-hero {
		padding-left: 20px;
		padding-right: 20px;
	}

	.ss-inner__body,
	.ss-inner-cta {
		padding-left: 20px;
		padding-right: 20px;
	}

	.ss-showcase__hero-body {
		flex-direction: column;
		align-items: flex-start;
	}

	.ss-review--featured {
		padding: 32px 28px;
	}

	.ss-review__verified {
		margin-left: 0;
		margin-top: 8px;
		width: 100%;
		text-align: center;
	}
}

/* ── Tablet portrait — mobile header ── */
@media (max-width: 1024px) {
	.ss-header__inner {
		grid-template-columns: 1fr auto;
		gap: 12px;
		padding-inline: 0;
	}

	.ss-nav {
		position: fixed;
		top: var(--ss-header);
		left: 0;
		right: 0;
		z-index: 299;
		grid-column: 1 / -1;
		justify-self: stretch;
		background: var(--ss-bg);
		border-bottom: 1px solid var(--ss-border);
		padding: 20px 24px 28px;
		box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
		transform: translateY(-130%);
		opacity: 0;
		pointer-events: none;
		transition: transform 0.28s ease, opacity 0.28s ease;
		max-height: calc(100vh - var(--ss-header));
		overflow-y: auto;
	}

	.ss-nav.is-open {
		transform: translateY(0);
		opacity: 1;
		pointer-events: auto;
	}

	.ss-nav__list {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.ss-nav__list a {
		font-size: 17px;
		opacity: 1;
	}

	.ss-menu-toggle {
		display: flex;
	}

	.ss-home-layout .ss-header--overlay:not(.is-scrolled) .ss-nav.is-open {
		background: var(--ss-bg);
	}

	.ss-home-layout .ss-header--overlay:not(.is-scrolled) .ss-nav.is-open .ss-nav__list a {
		color: var(--ss-secondary);
		opacity: 1;
	}

	.ss-home-layout .ss-header--overlay:not(.is-scrolled) .ss-menu-toggle.is-active {
		background: var(--ss-white);
		border-color: var(--ss-border);
	}

	.ss-home-layout .ss-header--overlay:not(.is-scrolled) .ss-menu-toggle.is-active span {
		background: var(--ss-secondary);
	}
}

/* ── Phone ── */
@media (max-width: 767px) {
	:root {
		--ss-section-gap: 64px;
		--ss-header: 72px;
	}

	body {
		font-size: 16px;
	}

	.ss-wrap,
	.ss-wrap--wide {
		width: min(100% - 32px, var(--ss-wrap-wide));
	}

	.ss-h2 {
		font-size: clamp(28px, 8vw, 40px);
		letter-spacing: -1px;
	}

	.ss-h3 {
		font-size: clamp(22px, 6vw, 32px);
	}

	.ss-h3--lg {
		font-size: clamp(26px, 7vw, 38px);
	}

	.ss-lead {
		font-size: 16px;
		line-height: 1.55;
	}

	.ss-about-industries {
		padding: 24px 20px;
		margin-top: 48px;
	}

	.ss-about-industries__grid,
	.ss-about-stats {
		grid-template-columns: 1fr;
	}

	.ss-services-benefits__grid {
		grid-template-columns: 1fr;
	}

	/* Header */
	.ss-logo__img,
	.ss-logo img,
	.ss-logo .custom-logo {
		height: 34px !important;
		max-width: 140px;
	}

	.ss-header__actions .ss-btn--gradient {
		display: none;
	}

	.ss-header__inner {
		min-height: var(--ss-header);
	}

	/* Hero */
	.ss-hero {
		padding: 0;
		min-height: auto;
	}

	.ss-hero__outer {
		min-height: 100svh;
	}

	.ss-hero__video-box {
		width: 100%;
		border-radius: 0;
		min-height: 100svh;
		padding: calc(var(--ss-header) + 12px) 16px 48px;
	}

	.ss-hero__content {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}

	.ss-hero__left {
		width: 100%;
	}

	.ss-hero__title {
		margin: 16px 0;
		font-size: clamp(32px, 9vw, 48px);
	}

	.ss-hero__btns {
		flex-direction: column;
		width: 100%;
		gap: 10px;
	}

	.ss-hero__btns .ss-btn {
		width: 100%;
		justify-content: center;
	}

	.ss-hero__pill-line {
		white-space: normal;
		font-size: 12px;
		line-height: 1.35;
	}

	.ss-hero__clients {
		flex-wrap: wrap;
	}

	/* Sections padding */
	.ss-section,
	.ss-reviews,
	.ss-faq,
	.ss-cta,
	.ss-sticky-work,
	.ss-pricing,
	.ss-trust-logos,
	.ss-marquee-section,
	.ss-videos-section {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.ss-videos-section {
		padding-top: 48px !important;
		padding-bottom: 32px !important;
	}

	.ss-videos-section__head {
		margin-bottom: 32px;
		padding-inline: 8px;
	}

	.ss-videos__card {
		flex: 0 0 160px;
		width: 160px;
	}

	/* Testimonials */
	.ss-reviews {
		padding-top: 0;
	}

	.ss-review--featured {
		padding: 24px 20px;
	}

	.ss-review__mark {
		font-size: 48px;
	}

	.ss-review__text {
		font-size: 17px;
	}

	/* Services */
	.ss-services-home__grid,
	.ss-svc-grid {
		gap: 16px;
	}

	.ss-svc-card__body {
		padding: 20px 18px 22px;
		min-height: auto;
	}

	.ss-svc-card__body h3 {
		font-size: 20px;
	}

	/* Pricing */
	.ss-pricing__head .ss-h3 {
		font-size: clamp(20px, 5.5vw, 28px);
	}

	.ss-pricing-card {
		padding: 28px 20px;
	}

	/* Sticky projects */
	.ss-sticky-work__head {
		margin-bottom: 32px;
		padding-inline: 4px;
	}

	.ss-sticky-work__stack {
		padding-bottom: 0;
	}

	.ss-sticky-work__panel {
		position: relative !important;
		top: auto !important;
		min-height: min(36vh, 480px);
		margin-bottom: 16px;
		border-radius: 20px;
	}

	.ss-services-home .ss-center {
		margin-top: 20px;
	}
	.ss-sticky-work__body {
		padding: 20px 18px;
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.ss-sticky-work__num {
		font-size: 36px;
	}

	.ss-sticky-work__body h3 {
		font-size: clamp(22px, 6vw, 28px);
	}

	.ss-sticky-work__arrow {
		display: none;
	}

	/* Marquee */
	.ss-marquee__track span {
		font-size: 14px;
	}

	/* FAQ */
	.ss-faq__shell {
		padding: 28px 16px 24px;
		border-radius: 20px;
	}

	.ss-faq__answer {
		font-size: 15px;
	}

	/* CTA */
	.ss-cta {
		padding-bottom: 48px !important;
	}

	.ss-cta__btns {
		flex-direction: column;
		width: 100%;
		gap: 10px;
	}

	.ss-cta__btns .ss-btn {
		width: 100%;
		justify-content: center;
	}

	/* Footer */
	.ss-footer {
		padding-inline: 16px;
	}

	.ss-footer__main {
		grid-template-columns: 1fr !important;
		gap: 28px;
		padding: 48px 0 36px;
	}

	.ss-footer__tagline {
		max-width: none;
		font-size: 15px;
	}

	.ss-footer__bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding-bottom: 28px;
	}

	.ss-footer__legal {
		flex-direction: column;
		gap: 10px;
	}

	/* Inner pages */
	.ss-inner-hero {
		padding: calc(var(--ss-header) + 28px) 16px 72px;
	}

	.ss-inner-hero__glow,
	.ss-inner-hero__glow--2,
	.ss-service-hero__glow,
	.ss-service-hero__glow--2 {
		opacity: 0.6;
		transform: scale(0.85);
	}

	.ss-inner__body {
		margin-top: -36px;
		padding: 0 16px 48px;
	}

	.ss-inner__shell {
		padding: 24px 18px;
		border-radius: 20px;
	}

	.ss-inner-cta {
		padding: 0 16px 56px;
	}

	.ss-inner-cta__box {
		padding: 36px 20px;
		border-radius: 22px;
	}

	.ss-inner-cta__btns {
		flex-direction: column;
		width: 100%;
	}

	.ss-inner-cta__btns .ss-btn {
		width: 100%;
		justify-content: center;
	}

	.ss-service-hero {
		padding: calc(var(--ss-header) + 24px) 16px 40px;
	}

	.ss-service-hero__actions {
		flex-direction: column;
		width: 100%;
	}

	.ss-service-hero__actions .ss-btn {
		width: 100%;
		justify-content: center;
	}

	.ss-service-single__main .ss-inner__shell {
		margin-top: 0;
	}

	.ss-service-aside__card {
		position: static;
	}

	.ss-project-card__body {
		padding: 18px;
	}

	.ss-trust-logos .ss-h2 {
		font-size: clamp(22px, 6vw, 32px);
		padding-inline: 8px;
	}

	.ss-logo-marquee__track {
		column-gap: 48px;
		height: 48px;
	}

	.ss-logo-marquee__item {
		flex: 0 0 92px;
		width: 92px;
		height: 48px;
	}

	.ss-logo-marquee__track img {
		width: 42px;
		height: 42px;
		max-width: 42px;
		max-height: 42px;
	}

	.ss-btn {
		padding: 12px 20px;
		font-size: 15px;
	}

	.ss-btn:hover {
		transform: none;
	}
}

/* ── Small phone ── */
@media (max-width: 480px) {

	.ss-wrap,
	.ss-wrap--wide {
		width: min(100% - 24px, var(--ss-wrap-wide));
		/* margin-bottom: 20px; */
	}

	.ss-videos__card {
		flex: 0 0 140px;
		width: 140px;
	}

	.ss-hero__video-box {
		padding-inline: 12px;
	}

	.ss-section,
	.ss-reviews,
	.ss-faq,
	.ss-cta,
	.ss-sticky-work,
	.ss-pricing,
	.ss-videos-section {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.ss-inner__shell--legal {
		padding: 28px 18px;
	}

	.ss-legal-prose h2 {
		margin-top: 28px;
		font-size: 11px;
	}

	.ss-legal-prose {
		font-size: 15px;
	}
}

/* Body lock when mobile menu open */
body.ss-nav-open {
	overflow: hidden;
}