/* Mobile header: phone number and Book a Table share one row.
   Desktop and tablet column widths stay as set in the header template. */
@media (max-width: 767px) {
	body .elementor-3351 .elementor-element.elementor-element-37c202d > .elementor-container {
		align-items: center;
		padding-left: 18px;
		padding-right: 18px;
	}

	body .elementor-3351 .elementor-element.elementor-element-1cbb410 > .elementor-element-populated {
		padding-left: 0;
		padding-right: 0;
	}

	/* The logo file has empty space before the mark. Pull it left so the artwork
	   lines up with the phone icon. */
	.elementor-3351 .elementor-element-41f31cd .logo_mobile,
	.elementor-3351 .elementor-element-41f31cd .logo_sticky {
		margin-left: -26px;
	}

	.elementor-3351 .elementor-element.elementor-element-b477a8f {
		width: 46%;
	}

	.elementor-3351 .elementor-element.elementor-element-918d4a8 {
		width: 54%;
	}

	.elementor-3351 .elementor-element.elementor-element-b477a8f > .elementor-element-populated,
	.elementor-3351 .elementor-element.elementor-element-918d4a8 > .elementor-element-populated {
		padding-top: 4px;
		padding-bottom: 12px;
	}

	body .elementor-3351 .elementor-element.elementor-element-b477a8f.elementor-column > .elementor-widget-wrap {
		justify-content: center;
	}

	.elementor-3351 .elementor-element.elementor-element-60d3306 .ova-contact-info {
		align-items: center;
	}

	.elementor-3351 .elementor-element.elementor-element-60d3306 .ova-contact-info .icon {
		margin-right: 6px;
		margin-top: 0;
	}

	.elementor-3351 .elementor-element.elementor-element-60d3306 .ova-contact-info .contact .info .item,
	.elementor-3351 .elementor-element.elementor-element-60d3306 .ova-contact-info .contact .info .item a {
		font-size: 13px;
		line-height: 1.2;
		white-space: nowrap;
	}

	.elementor-3351 .elementor-element.elementor-element-828350e .ova-button {
		text-align: right;
	}

	.elementor-3351 .elementor-element.elementor-element-828350e .ova-button a {
		padding: 12px 12px 11px;
		max-width: 100%;
	}

	.elementor-3351 .elementor-element.elementor-element-828350e .ova-button a .ova-button-wrapper .ova-text {
		font-size: 12px;
		white-space: nowrap;
	}

	.elementor-3351 .elementor-element.elementor-element-828350e .ova-button a .ova-button-wrapper .ova-icon-after i {
		margin-left: 6px;
	}
}

@media (max-width: 380px) {
	.elementor-3351 .elementor-element.elementor-element-b477a8f {
		width: 44%;
	}

	.elementor-3351 .elementor-element.elementor-element-918d4a8 {
		width: 56%;
	}

	.elementor-3351 .elementor-element.elementor-element-60d3306 .ova-contact-info .contact .info .item,
	.elementor-3351 .elementor-element.elementor-element-60d3306 .ova-contact-info .contact .info .item a {
		font-size: 12px;
	}

	.elementor-3351 .elementor-element.elementor-element-828350e .ova-button a {
		padding: 10px 8px 9px;
	}

	.elementor-3351 .elementor-element.elementor-element-828350e .ova-button a .ova-button-wrapper .ova-text {
		font-size: 11px;
	}
}

/* Inner pages pull the first section up by 40–50px to sit under the shorter
   desktop header. On a phone that covers the title or the opening paragraph.
   The homepage hero uses a larger offset and stays as designed. */
@media (max-width: 767px) {
	.elementor[data-elementor-type="wp-page"]:not(.elementor-6239) > .elementor-section.elementor-top-section:first-of-type {
		margin-top: 0 !important;
	}

	.elementor[data-elementor-type="wp-page"]:not(.elementor-6239) > .elementor-section.elementor-top-section:first-of-type > .elementor-container {
		padding-top: 28px;
	}

	.elementor-widget-kababi_elementor_button + .elementor-widget-kababi_elementor_button,
	.elementor-widget-kababi_elementor_gallery + .elementor-widget-kababi_elementor_button {
		margin-top: 14px;
	}

	.elementor-widget-kababi_elementor_menu + .elementor-widget-kababi_elementor_button > .elementor-widget-container {
		margin-top: 12px !important;
		margin-bottom: 28px !important;
	}

	/* The homepage slider is taller than its slide on a phone, which leaves a
	   white band under Reserve a Table. Pull the next section up over that band. */
	.elementor-6239 .elementor-element.elementor-element-8732699 {
		margin-bottom: -72px;
	}

	/* Masonry keeps desktop column positions on a phone, so photos overlap
	   and leave empty frames. Lay them in two even columns instead. */
	.ova-gallery .grid {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		height: auto !important;
	}

	.ova-gallery .grid .grid-sizer {
		display: none !important;
	}

	.ova-gallery .grid .grid-item,
	.ova-gallery .grid .grid-item-fisrt {
		position: static !important;
		top: auto !important;
		left: auto !important;
		width: auto !important;
		height: auto !important;
		float: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.ova-gallery .grid .grid-item img {
		width: 100%;
		height: 150px;
		object-fit: cover;
		display: block;
	}
}
