:root {
	--font-bold: 700;
	--font-regular: 400;
	--main-course-style: uppercase;
}

body {
	font-size: 18px;
	background-color: var(--background-color);
	color: var(--text-color);
}

h4 {
	font-size: 1.1rem;
}

p {
	margin-bottom: 0;
	font-family: var(--text-font);
}

a {
	color: var(--links-color);
}
a:hover {
	color: var(--links-hover-color);
	font-weight: bold;
}

.accordion-item {
    background: transparent !important;
	border: 0;
}

.accordion-icon {
    width: 14px;
    height: 14px;
    background-color: var(--accordion-icon-color);
    -webkit-mask-image: url(../img/arrowshape.down.fill.svg);
    mask-image: url(../img/arrowshape.down.fill.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    position: absolute;
	right: 16px;
}

.accordion-button:not(.collapsed) .accordion-icon {
    transform: rotate(180deg);
}

.accordion-button.collapsed::after,
.accordion-button:not(.collapsed)::after {
	background-image: none !important;
}

.copyright {
	margin: 16px 0;
}

.lang-menu {
	margin: 0 auto;
	padding: 0;
	list-style: none;
	text-align: center;
	font-size: 0.8rem;
}
.lang-menu li {
	list-style: none;
	margin: 0 auto;
	padding: 0;

	display: inline;
}

/*header*/
.digital-menu-content .header-menu {
	display: flex;
	justify-content: center;
    flex-direction: column;
    align-items: center;
    margin-top: 16px;
}

.digital-menu-content .header-menu .header-menu-img {
	max-width: 350px;
}

.digital-menu-content .header-menu .header-menu-title {
	font-size: var(--title-font-size);
	font-family: var(--title-font);
	font-weight: var(--font-regular);
	text-align: center;
	color: var(--menu-title-color);
}

.digital-menu-content .header-menu .header-menu-subtitle {
	color: var(--menu-subtitle-color);
	margin: 0 0 32px 0;
}

/* title accordion main course */

.digital-menu-content .main-course-accordion .main-course-btn {
	background-color: var(--background-accordion);
	margin-bottom: 16px;
	padding: 10px 16px;
}

.digital-menu-content .main-course-accordion .main-course-btn h2 {
	text-transform: var(--main-course-style);
	font-size: var(--main-course-font-size);
	color: var(--accordion-title-color);
	font-family: var(--accordion-title-font);
	font-weight: var(--font-bold);
	margin: 0;
}

.digital-menu-content .main-course-accordion .main-course-btn p {
	font-size: var(--subtitle-accordion-size);
	font-family: var(--text-font);
	color: var(--accordion-subtitle-color);
}

/* body plates */
.digital-menu-content .plates-content {
	padding: 0 0 16px 0;
}

.digital-menu-content .accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
	border-radius: 4px;
}

.digital-menu-content .plates-content .plate-item {
	border-bottom: 1px solid var(--plate-item-divider-color);
	display: flex;
	align-items: center;
	padding: 0 0 16px 0;
	margin: 0;
}

.digital-menu-content .plates-content .plate-item .palte-image img {
	width: 100%;
	border-radius: 12px;
}
.digital-menu-content .plates-content .plate-item .plate-info {
	display: flex;
	align-items: center;
}

.digital-menu-content .plates-content .plate-item .plate-title {
	font-size: var(--plate-item-title-size);
	font-weight: var(--font-bold);
	padding-right: 10px;
	color: var(--plate-title-color);
	font-family: var(--plate-title-font);
}

.digital-menu-content .plates-content .plate-item .plate-title-seconday {
	font-size: calc(var(--plate-item-title-size) - 0.2em);
}

.digital-menu-content .plates-content .plate-item .plate-subtitle {
	font-size: var(--plate-item-subtitle-size);
	font-family: var(--text-font);
	color: var(--plate-subtitle-color);
}

/* Price */
.digital-menu-content .plates-content .plate-item .plate-price {
	color: var(--plate-price-color);
	font-size: var(--plate-item-price-size);
	text-align: right;
	font-weight: bold;
}

.digital-menu-content .plates-content .plate-item .plate-price .price-barred {
	text-decoration: line-through;
	font-size: 0.9rem;
	opacity: 0.5;
}

/* Plate allergies */
.digital-menu-content .plates-content .plate-item .plate-allergies .allergies-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	padding-top: 6px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.digital-menu-content .plates-content .plate-item .plate-allergies .allergies-list li {
	padding-right: 10px;
	font-size: var(--allergies-text-size);
	background-color: var(--allergies-text-background);
	color: var(--allergens-list-text-color);
	padding: 2px 6px;
	margin-right: 2px;
	border-radius: 16px;
}

.digital-menu-content .plates-content .plate-item .plate-allergies .allergies-list li img {
	width: 10px;
}

/* Plate features */
.digital-menu-content .plate-features .features-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	padding-top: 6px;
}

.digital-menu-content .plate-features .features-list li {
	padding-right: 10px;
	font-size: var(--allergies-text-size);
	background-color: var(--allergies-text-background);
	color: var(--allergens-list-text-color);
	padding: 2px 6px;
	margin-right: 2px;
	border-radius: 16px;
}

.digital-menu-content .plate-features .features-list li img {
	width: 10px;
}

/* Footer */
.footer-section {
	font-size: var(--footer-font-size);
	text-align: center;
}

/* Accordion */
.accordion-button.collapsed::after {
	background-image: url("../img/arrowshape.down.fill.svg");
	background-size: 14px;
	background-position: center;
	color: var(--accordion-icon-color);
}
  
.accordion-button:not(.collapsed)::after {
	background-image: url("../img/arrowshape.up.fill.svg");
	transform: rotate(360deg);
	background-size: 14px;
	background-position: center;
	color: var(--accordion-icon-color);
}

.accordion-button:not(.collapsed) {
	box-shadow: none;
}

/* Footer container */
.footer-section .services-container {
	display: flex;
    align-items: center;
    justify-content: space-between;
	margin: 16pt 0;
}
.footer-section .services-container .payment-section {
	text-align: left;
}

.footer-section .services-container .payment-section ul {
	list-style: none;
	margin: 0px;
	padding: 0px;
	display: flex;
	align-items: center;
	font-size: x-large;
}
.footer-section .services-container .payment-section ul li {
	padding: 8px;
}

.footer-section .services-container .social-section {
	text-align: right;
}
.footer-section .services-container .social-section ul {
	list-style: none;
	margin: 0px;
	padding: 0px;
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	font-size: x-large;
}
.footer-section .services-container .social-section ul li {
	padding: 8px;
}

.footer-section .allergens-legend h4 {
	font-size: medium;
}

.footer-section .allergens-legend ul li {
	list-style: none;
	margin: 0px;
	padding: 0px;
	align-items: center;
	font-size: small;
}
.footer-section .allergens-legend li {
	display: inline;
	text-wrap: balance;
}

/* Stili per le immagini dei piatti cliccabili */
.plate-image-thumbnail {
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.plate-image-thumbnail:hover {
	opacity: 0.8;
	transform: scale(1.05);
}

/* Stili per il modal */
#imageModal .modal-dialog {
	max-width: 90vw;
}

#imageModal .modal-content {
	background-color: var(--background-color);
	border: none;
}

#imageModal .modal-header {
	border-bottom: 1px solid rgba(255,255,255,0.1);
}

#imageModal .modal-title {
	color: var(--text-color);
	font-family: var(--title-font);
}

#imageModal .btn-close {
	filter: invert(1);
	opacity: 0.8;
}

#imageModal .btn-close:hover {
	opacity: 1;
}

#imageModal .modal-body {
	padding: 1rem;
}

#imageModal img {
	max-height: 80vh;
	width: auto;
}