@media (max-width: 1499px) {
    categories:not([nolimit]) a:nth-child(n+9) {
        display: none;
    }
}
@media (max-width: 1999px) {
    categories:not([nolimit]) a:nth-child(n+11) {
        display: none;
    }
}

@media only screen and (min-width: 1500px) {
	page {
		width: 1400px;
	}
    banners {
        height: 685px;
    }
	toplogo {
		height: 80px;
		flex-basis: 280px;
	}
	maincats a {
		padding-top: 100px;
	}
	maincats a::before {
		width: 80px;
		height: 80px;
	}
	categories a {
		flex: 0 0 20%;
	}
    cakelist a {
		flex: 0 0 15.8%;
        margin-top: 30px;
    }
	categories cimage {
		height: 250px;
	}
	categories ccaption {
		font-size: 1.2rem;
		line-height: 1.2rem;
	}
    cakelist ccaption {
        font-size: 14px;
        line-height: 17px;
    }
    categories cbutton, abutton {
		font-size: 1rem;
		line-height: 1rem;
		margin-top: 25px;
	}
    cakelist ccode {
        font-size: 11px;
        line-height: 11px;
    }	
    cakeblock {
        grid-template-columns: 670px auto 325px;
        grid-template-rows: auto 100%;
    }
    cakeblock cb.cakepicture {
        grid-column: 1;
        grid-row: 1 / span 2;
    }
    cakeblock cb.cakeorder {
        grid-column: 3;
        grid-row: 1 / span 2;
        border: none;
        padding-top: 0;
        border-left: 1px solid #ecd4d4;
        padding-left: 15px;
        height: max-content;
        padding-bottom: 15px;
    }
    cakeblock cb.cakeinfo {
        grid-column: 2;
        grid-row: 2;
    }
    closebranches a {
        width: calc((100% - (10px * 5)) / 6);
    }
    ordd {
        grid-template-columns: 450px auto;
    }
}

@media only screen and (min-width: 2000px) {
    categories:not([nolimit]) a:nth-child(n+15) {
        display: none;
    }
	page {
		width: 1900px;
	}
    banners {
        height: 922px;
    }
	maincats a {
		padding-top: 100px;
	}
	maincats a::before {
		width: 80px;
		height: 80px;
	}
	categories a {
		flex: 0 0 14.28%;
	}
    cakelist a {
		flex: 0 0 13.6%;
        margin-top: 40px;
    }
	categories cimage {
		height: 250px;
	}
	categories ccaption {
		font-size: 1.2rem;
		line-height: 1.2rem;
	}
	categories cbutton, abutton {
		font-size: 1rem;
		line-height: 1rem;
	}
    closebranches a {
        width: calc((100% - (10px * 6)) / 7);
    }
    ordd {
        grid-template-columns: 450px auto 450px;
    }
    orddrating{
        grid-column: 3;
        grid-row: 1;
    }
    orditems {
        grid-column: 2;
        grid-row: 1;
    }
}

@media (max-width: 1020px) {
    top a:nth-of-type(n+7) {
        display: none;
    }
	page {
		width: 750px;
	}
    banners {
        height: 376px;
    }
	toplogo {
		height: 40px;
		flex-basis: 200px;
	}
	categories a {
		margin-top: 15px;
		padding: 5px;
	}
    cakelist a {
		flex: 0 0 23.6%;
    }
	categories cimage {
		height: 170px;
	}
	categories cbutton {
		margin-top: 18px;
	}
	maincats {
		margin: 30px 0 60px;
	}
	maincats a {
		font-size: 1rem;
		line-height: 1rem;
		padding-top: 65px;		
	}
	maincats a::before {
		width: 50px;
		height: 50px;
	}
	adtxt h2 {
		font-size: 1.7rem;
		line-height: 1.8rem;
	}
	adtxt h4 {
		font-size: 1rem;
		line-height: 1.1rem;
	}
	ul.selophrs {
		display: none;
	}
    cakeblock {
        grid-template-columns: 420px auto;
    }
    cakeblock cb.cakepicture {
        width: 420px;
        height: 420px;
    }
    cakeblock cb.cakepicture ccicons {
        height: 20px;
    }
    closebranches a {
        width: calc((100% - (10px * 3)) / 4);
    }
    ordd {
        grid-template-columns: auto auto;
    }
    orddrating {
        grid-column: 2;
        grid-row: 1;
    }
    orditems {
        grid-column: 1 / span 2;
        grid-row: 2;
    }
    [basket] orditems {
        grid-column: 1;
        grid-row: 2;
    }
    [basket] collection {
        grid-column: 1;
        grid-row: 1;
    }
}
@media (max-width: 770px) {
    top a:nth-of-type(n+6) {
        display: none;
    }
	page {
		width: 580px;
	}
    banners {
        height: 295px;
    }
	toplogo {
		height: 40px;
		flex-basis: 200px;
	}
	categories a {
		margin-top: 15px;
		padding: 5px;
	}
    cakelist a {
		flex: 0 0 23.1%;
    }
	categories cimage {
		height: 133x;
	}
	categories cbutton {
		margin-top: 18px;
	}
	maincats {
		margin: 30px 0 60px;
	}
	maincats a {
		font-size: 1rem;
		line-height: 1rem;
		padding-top: 65px;		
	}
	maincats a::before {
		width: 50px;
		height: 50px;
	}
	adtxt h2 {
		font-size: 1.7rem;
		line-height: 1.8rem;
	}
	adtxt h4 {
		font-size: 1rem;
		line-height: 1.1rem;
	}
	ul.selophrs {
		display: none;
	}
    cakeblock {
        grid-template-columns: 320px auto;
    }
    cakeblock cb.cakepicture {
        width: 320px;
        height: 320px;
    }
    cakeblock cb.cakepicture ccicons {
        height: 20px;
    }
    closebranches a {
        width: calc((100% - (10px * 2)) / 3);
    }
    brinfoblock {
        grid-template-columns: auto auto;
        grid-template-rows: auto 300px;
        height: auto;
    }
    brinfoblock bropeningtimes {
        grid-column: 2;
        grid-row: 1;
    }
    brinfoblock brmap {
        grid-column: 1 / span 2;
        grid-row: 2;
    }
    table.orders tr td:nth-child(3) {
        display: none;
    }
    ordd {
        grid-template-columns: auto;
    }
    orddrating {
        grid-column: 1;
        grid-row: 3;
    }
    orditems {
        grid-column: 1;
        grid-row: 2;
    }
}
@media (max-width: 450px) {
	bline img.blogo {
		width: 125px;
	}
    ul.tpath {
        display: none;
    }
	bline a {
		font-size: 12px;
	}
    categories:not([nolimit]) a:nth-child(n+7) {
        display: none;
    }
	page {
		width: 400px;
	}
    banners {
        height: 195px;
    }
	toplogo {
		height: 40px;
		flex-basis: 200px;
	}
	categories a {
		flex: 0 0 50%;
		margin-top: 15px;
		padding: 5px;
	}
    cakelist a {
		flex: 0 0 45%;
    }
    cakelist ccaption {
        font-size: 16px;
    }
    cakelist ccode {
        font-size: 15px;
    }
	categories cimage {
		height: 170px;
	}
	maincats {
		margin: 40px 0 50px;
	}
	maincats a {
		font-size: 0.85rem;
		line-height: 0.9rem;
		padding-top: 60px;		
	}
	top {
		position: fixed;
		display: block;
		overflow: hidden;
		right: 10px;
		top: 10px;
		width: 50px;
		height: 50px;
		background-color: rgba(253, 208, 208, 0.72);
		border-radius: 8px;
	}
	top::after {
		position: absolute;
		display: block;
		content: "\2261";
		left: 50%;
		top: 50%;
		font-size: 2rem;
		transform: translate(-50%, -50%) scaleX(1.5);
	}
	top a, top toplogo, top topbasket {
		display: none;
	}
	top[open] {
		padding: 0 0;
		margin: 0;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(251, 214, 214, 0.7);
		border-radius: 0;
	}
	top[open]::after {
		display: none;
	}
	top[open] toplogo {
		position: absolute;
		display: block;
		width: 380px;
		height: 150px;
		left: 50%;
		transform: translateX(-50%);
		background-color: #fbd5d5;
		border-radius: 0 0 20px 20px;
		border: 20px solid #fbd5d5;
		box-shadow: 0 0 40px rgba(0, 0, 0, 0.18);
	}
	top[open] flexspace {
		position: fixed;
		display: block;
		right: 10px;
		top: 10px;
		width: 50px;
		height: 50px;
		background-color: rgba(207, 24, 24, 0.8);
		border-radius: 8px;		
	}
	top[open] flexspace::after {
		position: absolute;
		display: block;
		content: "\00D7";
		left: 50%;
		top: 45%;
		font-size: 2.4rem;
		line-height: 2rem;
		transform: translate(-50%, -50%);
		color: #fff;
	}
	top[open] a, top[open] topbasket {
		position: relative;
		display: block;
		margin: auto auto 5px 280px;
		height: 50px;
		right: 20px;
		width: auto;
		background-color: rgba(255, 255, 255, 0.7);
		padding: 15px;
		font-size: 1.2rem;
		line-height: 1.3rem;
		backdrop-filter: blur(4px);
		border-radius: 4px;
		box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
		border-left: 15px solid #a10451;
	}
	top[open] a::after {
		display: none;
	}
	top[open] a:first-of-type {
		margin-top: 170px;
	}
	top[open] topbasket {
		background-color: var(--color-dark-pink)
	}
	top[open] topbasket::after {
		left: 25px;
	}
	top[open] topbasket::before {
		position: absolute;
		display: block;
		content: attr(amount);
		left: 50px;
		color: #fff;
	}
	top[open] loyalty {
		position: fixed;
		display: block;
		left: 0;
		top: 0;
		bottom: 0;
		width: 250px;
		background-color: #a10451;
		box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
		z-index: -1;
	}
	top[open] loyalty::before {
		position: absolute;
		display: block;
		content: "Your loyalty points";
		color: #fff;
		top: 180px;
		left: 0;
		right: 0;
		text-align: center;
		padding: 10px;
		font-weight: bold;
	}
	top[open] loyalty::after {
		position: absolute;
		display: block;
		background-color: #d5036a;
		content: attr(points);
		left: 50%;
		transform: translateX(-50%);
		top: 210px;
		padding: 5px 20px;
		border-radius: 30px;
		color: #fff;
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 1.8rem;
		letter-spacing: 1px;
	}
	top[open] loyalty qrcode {
		position: absolute;
		display: block;
		width: 200px;
		height: 200px;
		left: 50%;
		transform: translateX(-50%);
		top: 260px;
		background-color: #eee;
		background-position: center center;
		background-size: contain;
		border-radius: 5px;
		background-repeat: no-repeat;
	}
	top[open] loyaltyinfo {
		position: absolute;
		display: block;
		top: 550px;
		left: 20px;
		width: 200px;
		text-align: center;
		color: #fff;
		opacity: 0.8;
		line-height: 1.2rem;
	}
    selbranch {
        display: none;
    }
    cakeblock {
        grid-template-columns: auto;
        grid-template-rows: auto;
    }
    cakeblock cb.caketitle {
        grid-column: 1;
        grid-row: 1;
        padding-left: 10px;
    }
    cakeblock prodcode {
        font-size: 18px;
    }
    cakeblock cb.cakepicture {
        width: 100%;
        height: 370px;
        grid-column: 1;
        grid-row: 2;
    }
    cakeblock cb.cakepicture ccicons {
        height: 30px;
    }
    cakeblock cb.cakeinfo {
        grid-column: 1;
        grid-row: 3;
        height: max-content;
    }
    cakeblock cb.cakeinfo p {
        font-size: 18px;
        line-height: 20px;
    }
    cakeblock cb.cakeorder {
        grid-column: 1;
        grid-row: 4;
    }
    cakeblock cb.caketitle h1 {
        font-weight: bold;
        text-align: center;
        margin-top: 40px;
    }
    cakeblock cb.caketitle prodcode {
        left: 50%;
        transform: translateX(-50%);
        font-size: 25px;
    }
    ul.ctabshead {
        gap: 5px
    }
    ul.ctabshead li {
        flex: 1;
        font-size: 1.2rem;
        text-align: center;
        padding: 15px 10px;
        background-color: #ddd;
    }
    cakeblock select, cakeblock input {
        font-size: 18px;
    }
    cakeblock label {
        font-size: 15px;
    }
    ul.discounts {
        font-size: 18px;
        line-height: 20px;
    }
    ordermsg {
        font-size: 18px;
        line-height: 20px;
    }
    orderprice {
        font-size: 5rem;
        line-height: 4rem;
    }
    orderprice[saved]::after {
        font-size: 1rem;
        margin-top: -0.8rem;
    }
    ordline button {
        font-size: 1.3rem;
    }
    ordline input {
        font-size: 25px;
        line-height: 25px;
        width: 45px;
    }
    ordbdown, ordbup {
        flex: 0 0 35px;
        height: 35px;
        border-radius: 20px;
    }
    ordbdown::after, ordbup::after {
        font-size: 1.8rem;
        line-height: 1.8rem;
    }
    searchblock {
        width: 350px;
    }
    modals {
        width: 400px;
    }
    modal {
        width: 100%;
    }
    closebranches a {
        width: calc((100% - (10px * 1)) / 2);
    }
    brinfoblock {
        grid-template-columns: 400px;
        grid-template-rows: auto auto 300px;
        height: auto;
    }
    brinfoblock bropeningtimes {
        grid-column: 1;
        grid-row: 2;
        width: 400px;
    }
    brinfoblock brmap {
        grid-column: 1;
        grid-row: 3;
        width: 100%;
    }
    brinfoblock brmap map {
        width: 100%;        
    }
    table.orders tr td:nth-child(6) {
        display: none;
    }
    ordd {
        grid-template-columns: auto;
        gap: 10px
    }
    orddrating {
        grid-column: 1;
        grid-row: 3;
    }
    orditems {
        grid-column: 1;
        grid-row: 2;
        margin-bottom: 15px;
    }
    orditems oitm {
        padding: 10px 0px 50px 130px;
        border: none;
        min-height: 130px;
    }
    orditems oitm+oitm {
        margin-top: 10px;
        border-top: 4px solid #f8d0d2;
    }
    orditems oitm img {
        left: 0;
        top: 10px;
        width: 120px;
        height: 120px;
    }
    oitm otitle b {
        position: absolute;
        font-size: 0.8rem;
        padding: 3px 5px;
        transform: translateX(calc(-100% - 10px));
        z-index: 10;
        top: -2px;
        border-radius: 4px 0 0 4px;
    }
    oitm orddi {
        margin: 5px 0px 0 95px;
    }
    oitm orddi[caption]::before {
        left: -95px;
        font-size: 0.8rem;
        font-weight: bold;
    }
    oitm oitmp {
        bottom: 0px;
        left: 130px;
    }
    oitm oitmq {
        bottom: 0px;
        right: 280px;
    }
    [basket] orditems {
        grid-column: 1;
        grid-row: 2;
    }
    [basket] collection {
        grid-column: 1;
        grid-row: 1;
    }
    basketact {
        height: 140px;
    }
    basketact totamt {
        top: 35px;
        left: 0;
        width: 100%;
        text-align: center;
    }
    basketact frmbtn {
        right: 100px;
    }
    alrginf {
        text-align: center;
    }
}