:root {
	--restaurant-accent: #f44336;                
	--restaurant-logo-size: 200px;                
	--restaurant-logo-ring: 6px;                  
}

.restaurant-header .logo-placeholder,
.restaurant-header .logo-image {
	width: var(--restaurant-logo-size);
	height: var(--restaurant-logo-size);
	border-radius: 50%;
	border: var(--restaurant-logo-ring) solid var(--md-primary);
	box-shadow: 0 6px 18px rgba(0,0,0,.16);
	position: relative;
	z-index: 2;
	transition: all 0.3s ease;
}
.restaurant-header .logo-image {
    object-fit: cover;
}
.restaurant-header .logo-placeholder {
    background: #333;
}


.restaurant-header {
    position: relative;
    margin-bottom: calc(var(--restaurant-logo-size) / 2);
}

.restaurant-header .header-background {
    height: 160px;
    border-radius: var(--restaurant-card-radius);
    margin: 0;
    position: relative;
    border-bottom: 4px solid var(--md-primary);
    background-color: #fff;
    background-image: var(--restaurant-header-bg);
    background-size: cover;
    background-position: center;
    transition: height 0.3s ease, border-radius 0.3s ease, box-shadow 0.3s ease;
    overflow: visible;
}

.restaurant-header .header-foreground {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(-1 * var(--restaurant-logo-size) / 2);
    z-index: 3;
    transition: all 0.3s ease;
}

.restaurant-header .restaurant-title {
    display: block;
    font-weight: 500;
    text-align: center;
    position: relative;
    padding-top: calc(var(--restaurant-logo-size) / 2 + 12px);
    margin: 0;
    padding-bottom: 16px;
}

body.restaurant-header-scrolled {
    padding-top: 64px;
}

body.restaurant-header-scrolled .restaurant-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    margin-bottom: 0;
}

body.restaurant-header-scrolled .restaurant-header .header-background {
    height: 64px;
    border-radius: 0;
    box-shadow: 0 4px 5px 0 rgba(0,0,0,.14), 0 1px 10px 0 rgba(0,0,0,.12), 0 2px 4px -1px rgba(0,0,0,.2);
}

body.restaurant-header-scrolled .restaurant-header .header-foreground {
    position: absolute;
    bottom: auto;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 12;
}

body.restaurant-header-scrolled .restaurant-header .logo-image,
body.restaurant-header-scrolled .restaurant-header .logo-placeholder {
    height: 48px;
    width: 48px;
    border-width: 2px;
}

body.restaurant-header-scrolled .restaurant-header .restaurant-title {
    display: none;
}

@media (max-width:768px){
	.restaurant-header { --restaurant-logo-size: 140px; }
	.restaurant-header .header-background { height: 120px; }
}