
/* Scroll reveal animation */
.sny-has-animation.sny-js-animation .sny-morning-card,
.sny-has-animation.sny-js-animation .sny-hours-card {
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity .65s cubic-bezier(.22, 1, .36, 1),
		transform .65s cubic-bezier(.22, 1, .36, 1);
	will-change: opacity, transform;
}

.sny-has-animation.sny-js-animation .sny-morning-card.sny-is-visible,
.sny-has-animation.sny-js-animation .sny-hours-card.sny-is-visible {
	opacity: 1;
	transform: translateY(0);
}

.sny-has-animation.sny-js-animation .sny-mobile-days .sny-day-card {
	opacity: 0;
	transform: translateY(18px);
	transition:
		opacity .5s cubic-bezier(.22, 1, .36, 1),
		transform .5s cubic-bezier(.22, 1, .36, 1);
}

.sny-has-animation.sny-js-animation .sny-mobile-days .sny-day-card.sny-is-visible {
	opacity: 1;
	transform: translateY(0);
}

.sny-has-animation .sny-mobile-days .sny-day-card:nth-child(2) {
	transition-delay: .06s;
}
.sny-has-animation .sny-mobile-days .sny-day-card:nth-child(3) {
	transition-delay: .12s;
}
.sny-has-animation .sny-mobile-days .sny-day-card:nth-child(4) {
	transition-delay: .18s;
}
.sny-has-animation .sny-mobile-days .sny-day-card:nth-child(5) {
	transition-delay: .24s;
}
.sny-has-animation .sny-mobile-days .sny-day-card:nth-child(6) {
	transition-delay: .30s;
}
.sny-has-animation .sny-mobile-days .sny-day-card:nth-child(7) {
	transition-delay: .36s;
}

/* If JS is unavailable, content must remain visible. */
.no-js .sny-has-animation.sny-js-animation .sny-morning-card,
.no-js .sny-has-animation .sny-hours-card,
.no-js .sny-has-animation.sny-js-animation .sny-mobile-days .sny-day-card {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.sny-has-animation.sny-js-animation .sny-morning-card,
	.sny-has-animation .sny-hours-card,
	.sny-has-animation.sny-js-animation .sny-mobile-days .sny-day-card {
		opacity: 1;
		transform: none;
		transition: none !important;
	}
}

/* Strand Nyitvatartás PRO — frontend */
.sny-widget,
.sny-widget * {
	box-sizing: border-box;
}

.sny-widget {
	--sny-primary: #0f766e;
	--sny-primary-dark: #115e59;
	--sny-primary-soft: #ecfdf5;
	--sny-accent: #0284c7;
	--sny-text: #0f172a;
	--sny-muted: #64748b;
	--sny-border: #e2e8f0;
	--sny-surface: #ffffff;
	--sny-surface-soft: #f8fafc;
	width: 100%;
	max-width: 1100px;
	margin: 24px auto;
	color: var(--sny-text);
	font-family: inherit;
}

.sny-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.sny-morning-card {
	position: relative;
	display: flex;
	overflow: hidden;
	margin-bottom: 18px;
	border: 1px solid #bae6fd;
	border-radius: 18px;
	background:
		radial-gradient(circle at 100% 0%, rgba(14, 165, 233, .11), transparent 34%),
		linear-gradient(135deg, #f0f9ff 0%, #ffffff 72%);
	box-shadow: 0 8px 28px rgba(15, 23, 42, .06);
}

.sny-morning-accent {
	flex: 0 0 5px;
	background: linear-gradient(180deg, #0284c7, #0f766e);
}

.sny-morning-content {
	width: 100%;
	padding: 24px;
}

.sny-morning-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
}

.sny-morning-title-wrap {
	min-width: 0;
}

.sny-badge {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 4px 10px;
	margin-bottom: 8px;
	border: 1px solid #bae6fd;
	border-radius: 999px;
	background: #e0f2fe;
	color: #075985;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .07em;
	line-height: 1.2;
	text-transform: uppercase;
}

.sny-morning-title,
.sny-card-title,
.sny-day-name {
	margin: 0 !important;
	color: var(--sny-text) !important;
}

.sny-morning-title {
	font-size: clamp(1.2rem, 2vw, 1.5rem) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

.sny-period {
	flex: 0 0 auto;
	padding: 7px 11px;
	border-radius: 9px;
	background: rgba(255, 255, 255, .85);
	color: #0369a1;
	font-size: .9rem;
	font-weight: 700;
	text-align: right;
}

.sny-info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.sny-info {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 14px;
	border: 1px solid rgba(226, 232, 240, .9);
	border-radius: 12px;
	background: rgba(255, 255, 255, .92);
}

.sny-info-icon {
	display: grid;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 10px;
	background: #f0f9ff;
	color: var(--sny-accent);
	font-size: 1.15rem;
	font-weight: 800;
}

.sny-info-label,
.sny-day-label {
	display: block;
	margin-bottom: 3px;
	color: var(--sny-muted);
	font-size: .76rem;
	font-weight: 650;
	line-height: 1.3;
}

.sny-info-value {
	display: block;
	overflow-wrap: anywhere;
	color: var(--sny-text);
	font-size: .98rem;
	line-height: 1.35;
}

.sny-hours-card {
	overflow: hidden;
	border: 1px solid var(--sny-border);
	border-radius: 18px;
	background: var(--sny-surface);
	box-shadow: 0 8px 28px rgba(15, 23, 42, .055);
}

.sny-card-head {
	padding: 22px 24px 18px;
	border-bottom: 1px solid #eef2f7;
	background: linear-gradient(180deg, #fff, #fcfdff);
}

.sny-eyebrow {
	display: block;
	margin-bottom: 5px;
	color: var(--sny-primary);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sny-card-title {
	font-size: clamp(1.2rem, 2vw, 1.45rem) !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	overflow-wrap: anywhere;
}

.sny-desktop-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.sny-table {
	width: 100%;
	min-width: 650px;
	border-collapse: collapse;
	text-align: left;
}

.sny-table th,
.sny-table td {
	padding: 15px 22px;
	border-bottom: 1px solid #eef2f7;
	vertical-align: middle;
}

.sny-table thead th {
	background: var(--sny-surface-soft);
	color: var(--sny-muted);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
	white-space: nowrap;
}

.sny-table tbody th {
	color: var(--sny-text);
	font-size: .94rem;
	font-weight: 800;
	white-space: nowrap;
}

.sny-table tbody td {
	color: #334155;
	font-size: .94rem;
	font-weight: 500;
}

.sny-table tbody tr:last-child th,
.sny-table tbody tr:last-child td {
	border-bottom: 0;
}

.sny-table tbody tr {
	transition: background-color .16s ease;
}

.sny-table tbody tr:hover {
	background: #f8fafc;
}

.sny-mobile-days {
	display: none;
}

.sny-day-card {
	padding: 17px;
	border-bottom: 1px solid #eef2f7;
}

.sny-day-card:last-child {
	border-bottom: 0;
}

.sny-day-name {
	margin-bottom: 12px !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
}

.sny-day-main {
	padding: 13px;
	border: 1px solid #dbeafe;
	border-radius: 12px;
	background: #f8fbff;
}

.sny-day-open {
	display: block;
	color: var(--sny-primary-dark);
	font-size: 1.08rem;
	line-height: 1.3;
}

.sny-day-meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 10px;
}

.sny-day-meta > div {
	padding: 11px 12px;
	border: 1px solid #eef2f7;
	border-radius: 10px;
	background: #fff;
}

.sny-day-meta strong {
	display: block;
	color: #334155;
	font-size: .94rem;
	line-height: 1.3;
}

@media (max-width: 767px) {
	.sny-widget {
		margin: 16px auto;
	}

	.sny-morning-card {
		border-radius: 15px;
	}

	.sny-morning-content {
		padding: 18px;
	}

	.sny-morning-head {
		display: block;
		margin-bottom: 15px;
	}

	.sny-period {
		display: inline-block;
		margin-top: 10px;
		text-align: left;
	}

	.sny-info-grid {
		grid-template-columns: 1fr;
		gap: 9px;
	}

	.sny-info {
		padding: 12px;
	}

	.sny-info-icon {
		flex-basis: 34px;
		width: 34px;
		height: 34px;
	}

	.sny-hours-card {
		border-radius: 15px;
	}

	.sny-card-head {
		padding: 18px;
	}

	.sny-desktop-table-wrap {
		display: none;
	}

	.sny-mobile-days {
		display: block;
	}

	.sny-day-card {
		padding: 15px;
	}
}

@media (max-width: 420px) {
	.sny-morning-content {
		padding: 15px;
	}

	.sny-day-meta {
		grid-template-columns: 1fr;
	}

	.sny-day-meta > div {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
	}

	.sny-day-meta .sny-day-label {
		margin-bottom: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sny-table tbody tr {
		transition: none;
	}
}

@media (forced-colors: active) {
	.sny-morning-card,
	.sny-hours-card,
	.sny-info,
	.sny-day-card,
	.sny-day-main,
	.sny-day-meta > div {
		border: 1px solid CanvasText;
	}

	.sny-badge {
		border: 1px solid CanvasText;
	}
}
