/* Aria Bello — homepage sections on mobile & tablet */

@media (max-width: 1100px) {
	/* Hero — slider + text side by side, flush under header */
	.hero {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		min-height: auto;
		padding-top: 0;
		margin-top: 0;
	}
	.hero-image {
		min-height: 240px;
		height: 100%;
	}
	.hero-image img,
	.hero-image .rev_slider_wrapper,
	.hero-image .rev_slider_wrapper .rev_slider,
	.hero-image .rev_slider_wrapper .rev_slider ul,
	.hero-image .rev_slider_wrapper .rev_slider li {
		min-height: 240px !important;
		height: 100% !important;
	}
	.hero-text {
		padding: 20px 16px;
		border-left: 1px solid var(--light-line);
		border-top: none;
		justify-content: center;
	}
	.hero-index {
		margin-bottom: 12px;
		font-size: 0.5rem;
	}
	.hero-h1 {
		font-size: clamp(1.35rem, 3.8vw, 2.4rem);
		line-height: 1.05;
	}
	.hero-rule {
		margin: 14px 0;
		width: 32px;
	}
	.hero-sub {
		font-size: 0.68rem;
		line-height: 1.65;
		max-width: none;
	}
	.hero-bottom {
		padding-top: 16px;
		gap: 12px;
		flex-direction: column;
		align-items: flex-start;
	}
	.hero-services {
		gap: 4px;
	}
	.hs-item {
		font-size: 0.52rem;
		gap: 6px;
	}
	.hs-dot {
		width: 4px;
		height: 4px;
	}
	.hero-cta {
		align-items: flex-start;
		width: 100%;
		gap: 8px;
	}
	.hero-cta .btn-jet,
	.hero-cta .btn-line {
		font-size: 0.58rem;
		padding: 10px 16px;
	}

	/* Portfolio — 4-up grid like desktop */
	.film-strip,
	.film-strip--fancy {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 6px;
		overflow: visible;
	}
	.film-strip .fs-item,
	.film-strip--fancy .fs-item {
		flex: unset;
		width: auto;
		min-width: 0;
		max-width: none;
		height: 110px !important;
		min-height: 110px !important;
		scroll-snap-align: unset;
	}
	.film-strip .fs-item.fs-tall,
	.film-strip--fancy .fs-item.fs-tall {
		height: 110px !important;
		min-height: 110px !important;
	}
	.film-strip .fs-item.fs-wide,
	.film-strip--fancy .fs-item.fs-wide {
		grid-column: span 1;
		flex: unset;
		max-width: none;
	}
	.film-strip .fs-caption {
		padding: 8px;
	}
	.film-strip .fs-caption h4 {
		font-size: 0.72rem;
	}
	.film-strip .fs-caption span {
		font-size: 0.55rem;
	}

	/* Products — smaller cards, more per row */
	.shop-grid,
	.shop-grid--fancy {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}
	.prod--fancy .prod-img {
		aspect-ratio: 1;
	}
	.prod--fancy .prod-name {
		font-size: 0.82rem;
		margin-top: 8px;
	}
	.prod--fancy .prod-shade {
		font-size: 0.6rem;
	}
	.prod--fancy .prod-price {
		font-size: 0.72rem;
		margin-top: 4px;
	}
	.prod--fancy .button,
	.prod--fancy .add_to_cart_button {
		font-size: 0.52rem !important;
		margin-top: 8px !important;
		padding: 8px 0 !important;
	}

	/* Booking — side by side on tablet only */
	.booking-grid {
		display: grid !important;
		grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
		gap: 28px !important;
		align-items: start;
	}
	.booking-sec--fancy {
		padding-top: 64px;
		padding-bottom: 64px;
	}
	.bk-left > p {
		font-size: 0.82rem;
		line-height: 1.8;
		max-width: none;
	}
	.bk-sessions {
		margin-top: 24px;
	}
	.bk-sess {
		padding: 16px 0;
		align-items: center;
		flex-direction: row;
		justify-content: space-between;
		gap: 12px;
	}
	.bk-sess h4 {
		font-size: 0.95rem;
	}
	.bk-sess-meta {
		font-size: 0.62rem;
	}
	.bk-sess-price {
		font-size: 0.78rem;
		flex-shrink: 0;
	}
	.booking-sec .nife-booking,
	.booking-grid .nife-booking {
		padding: 24px !important;
	}
	.nife-booking__header h2 {
		font-size: 1.15rem !important;
	}
	.nife-booking__header p:last-child {
		font-size: 0.78rem;
	}

	/* Client voices — horizontal row + auto scroll */
	.testi-col,
	.testi-col--fancy {
		display: flex !important;
		grid-template-columns: unset !important;
		overflow-x: auto;
		overflow-y: hidden;
		gap: 16px;
		scroll-behavior: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 8px;
	}
	.testi-col::-webkit-scrollbar,
	.testi-col--fancy::-webkit-scrollbar {
		display: none;
	}
	.testi-col .tc,
	.testi-col--fancy .tc--fancy {
		flex: 0 0 min(72vw, 280px);
		scroll-snap-align: unset;
	}
	.tc--fancy {
		padding: 28px 24px;
	}
	.tc-quote-mark {
		font-size: 2.8rem;
	}
	.tc--fancy p {
		font-size: 0.92rem;
	}
}

@media (max-width: 768px) {
	.hero-image,
	.hero-image img,
	.hero-image .rev_slider_wrapper {
		min-height: 200px !important;
	}
	.hero-h1 {
		font-size: clamp(1.15rem, 4.5vw, 1.75rem);
	}
	.hero-services {
		display: none;
	}

	.film-strip .fs-item,
	.film-strip--fancy .fs-item {
		height: 92px !important;
		min-height: 92px !important;
	}

	.shop-grid,
	.shop-grid--fancy {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	/* Booking — stack on phone for breathing room */
	.booking-grid {
		grid-template-columns: 1fr !important;
		gap: 36px !important;
	}
	.bk-sess {
		flex-direction: row;
		align-items: center;
	}
	.booking-sec .nife-booking,
	.booking-grid .nife-booking {
		padding: 28px 24px !important;
	}
	.nife-booking__steps {
		flex-wrap: wrap;
		gap: 6px;
	}
	.nife-booking__steps span {
		font-size: 0.52rem;
		padding: 8px 10px;
	}

	.testi-col .tc,
	.testi-col--fancy .tc--fancy {
		flex: 0 0 min(82vw, 300px);
	}
}

@media (min-width: 769px) and (max-width: 1100px) {
	.hero {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	}
	.hero-image {
		min-height: 320px;
	}
	.hero-image img,
	.hero-image .rev_slider_wrapper {
		min-height: 320px !important;
	}
	.film-strip .fs-item,
	.film-strip--fancy .fs-item {
		height: 130px !important;
		min-height: 130px !important;
	}
	.shop-grid,
	.shop-grid--fancy {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}
