/* ===== پایه ===== */
* { box-sizing: border-box; margin: 0; padding: 0; }

a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: none; }

body {
	font-family: 'Vazirmatn', Tahoma, sans-serif;
	background: #1A1714;
	color: #E8DFD3;
	direction: rtl;
	line-height: 1.7;
}

.pv-title,
.pv-category-name,
.pv-btn-main {
	font-family: 'Lalezar', 'Vazirmatn', Tahoma, sans-serif;
}

.pv-main {
	max-width: 520px;
	margin: 0 auto;
	overflow: hidden;
}

/* ===== هیرو ===== */
.pv-hero {
	position: relative;
	padding: 56px 20px 34px;
	text-align: center;
	overflow: hidden;
	background: radial-gradient(ellipse at 50% 25%, #2A241E 0%, #1A1714 70%);
}

.pv-hero-glow {
	position: absolute;
	top: 6px;
	left: 50%;
	transform: translateX(-50%);
	width: 160px;
	height: 160px;
	background: #C89B6C;
	border-radius: 50%;
	filter: blur(40px);
	opacity: 0.35;
	animation: pv-glow 3s ease-in-out infinite;
}

.pv-hero-cup { position: relative; margin-bottom: 10px; }

.pv-steam { animation: pv-steam 2.4s ease-in-out infinite; }

.pv-title {
	position: relative;
	font-size: 46px;
	font-weight: 400;
	color: #E8DFD3;
	line-height: 1;
}

.pv-divider {
	width: 42px;
	height: 1px;
	background: #C89B6C;
	margin: 14px auto;
}

.pv-hero-sub {
	font-size: 12px;
	color: #9C9186;
	letter-spacing: 3px;
	margin-bottom: 26px;
}

.pv-hero-buttons {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.pv-btn-main {
	display: inline-block;
	font-size: 17px;
	color: #1A1714;
	line-height: 1.2 ;
	background: #C89B6C;
	padding: 12px 34px;
	border-radius: 30px;
	text-decoration: none;
	transition: transform 0.15s ease, opacity 0.15s ease;
}
.pv-btn-main:active { transform: scale(0.97); }

.pv-btn-secondary {
	display: inline-block ;
	font-size: 17px ;
	font-family: 'Lalezar', 'Vazirmatn', Tahoma, sans-serif ;
	line-height: 1 ;
	color: #C89B6C ;
	background: transparent ;
	border: 1.5px solid #C89B6C ;
	padding: 12px 34px ;
	border-radius: 30px ;
	cursor: pointer;
	outline: none;
	box-shadow: none;
	transition: transform 0.15s ease, background 0.2s ease, color 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
}
.pv-btn-secondary:active { transform: scale(0.97); }
.pv-btn-secondary:focus { outline: none; box-shadow: 0 0 0 3px rgba(200,155,108,0.35); }
.pv-btn-secondary[aria-expanded="true"] {
	background: #C89B6C !important;
	color: #1A1714 !important;
}

@keyframes pv-glow {
	0%, 100% { opacity: 0.3; }
	50% { opacity: 0.6; }
}
@keyframes pv-steam {
	0% { transform: translateY(0) scaleX(1); opacity: 0.5; }
	50% { transform: translateY(-14px) scaleX(1.3); opacity: 0.15; }
	100% { transform: translateY(-28px) scaleX(1); opacity: 0; }
}

/* ===== گالری چرخشی ===== */
.pv-gallery {
	overflow: hidden;
	padding: 22px 0;
	background: #1A1714;
	border-top: 0.5px solid #2E2A25;
	border-bottom: 0.5px solid #2E2A25;
	direction: ltr; /* مستقل از راست‌به‌چپ بودن صفحه، تا عکس‌ها همون اول قابل دیدن باشن */
}

.pv-gallery-track{
	display:flex;
	flex-wrap:nowrap;
	width:max-content;
	will-change:transform;
	animation-name:pv-scroll;
	animation-duration:60s;
	animation-timing-function:linear;
	animation-iteration-count:infinite;
}

.pv-gallery-item {
	flex: 0 0 auto;
	width: 130px;
	height: 90px;
	margin-left: 12px;
	border-radius: 12px;
	overflow: hidden;
	background: #2A241E;
}
.pv-gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@keyframes pv-scroll{
	from{
		transform:translate3d(0,0,0);}
	to{
		transform:translate3d(-50%,0,0);}
}

@keyframes pv-scroll-reverse{
	from{
		transform:translate3d(-50%,0,0);}
	to{
		transform:translate3d(0,0,0);}
}

.pv-gallery-track-reverse{
	animation-name:pv-scroll-reverse !important;
	animation-duration:60s !important;
	animation-timing-function:linear !important;
	animation-iteration-count:infinite !important;
}

/* گالری محیط کافه به‌صورت پیش‌فرض کاملاً مخفیه، با کلیک دکمه باز می‌شه */
.pv-gallery-env{
	max-height:0;
	opacity:0;
	overflow:hidden;
	padding:0;
	transition:max-height .5s ease,opacity .4s ease,padding .4s ease;
}

.pv-gallery-env.pv-open{
	max-height:150px;
	opacity:1;
	padding:18px 0;
}
@media (prefers-reduced-motion: reduce) {
	.pv-gallery-track { animation: none; }
	.pv-steam, .pv-hero-glow { animation: none; }
}

/* ===== دسته‌بندی‌ها ===== */
.pv-categories { padding: 24px 18px 40px; }

.pv-category {
	border-bottom: 0.5px solid #2E2A25;
}

.pv-category-head {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: none;
	border: none;
	color: #E8DFD3;
	font-size: 18px;
	padding: 16px 4px;
	cursor: pointer;
	text-align: right;
}

.pv-category-name {
	display: flex;
	align-items: center;
	gap: 8px;
}
.pv-category-name i { color: #C89B6C; font-size: 20px; }

.pv-chevron {
	color: #9C9186;
	transition: transform 0.25s ease;
	font-size: 18px;
}
.pv-category-head[aria-expanded="true"] .pv-chevron {
	transform: rotate(180deg);
}

.pv-category-body {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}
.pv-category-body.pv-open {
	max-height: 1000px;
}

.pv-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 4px;
	border-top: 0.5px solid #2E2A25;
}

.pv-item-thumb {
	width: 44px;
	height: 44px;
	object-fit: cover;
	border-radius: 8px;
	flex: 0 0 auto;
}

.pv-item-info {
	flex: 1 1 auto;
	min-width: 0;
}

.pv-item-name {
	font-size: 14.5px;
	color: #E8DFD3;
	font-weight: 500;
}
.pv-item-note {
	font-size: 12px;
	color: #9C9186;
	margin-top: 2px;
}
.pv-item-price{

margin-right:12px;

margin-left:auto;

min-width:95px;

text-align:left;

font-size:14px;

font-weight:700;

color:#C89B6C;

white-space:nowrap;

flex-shrink:0;

direction:ltr;

}

/* ===== فوتر ===== */
.pv-footer {
	background: #14110E;
	padding: 18px 20px;
}
.pv-footer-inner {
	max-width: 520px;
	margin: 0 auto;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	font-size: 12px;
	color: #9C9186;
	text-align: center;
}

.pv-footer-col {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}
.pv-footer-col i { color: #C89B6C; font-size: 18px; }

.pv-footer-col-address { justify-content: flex-start; }

.pv-footer-address-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-decoration: none !important;
	cursor: pointer;
}

.pv-footer-map-preview {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #221D18;
	border: 1px solid #2E2A25;
}
.pv-footer-map-preview i { color: #C89B6C; font-size: 18px; }

.pv-footer-map-embed {
	width: 100%;
	height: 100%;
	border: 0;
	pointer-events: none; /* کلیک از روی نقشه رد بشه و به لینک اصلی برسه */
}

.pv-footer-map-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.pv-footer-address-text { color: inherit; }

.pv-footer-insta-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	color: #9C9186 !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}
.pv-footer-insta-link:visited,
.pv-footer-insta-link:link {
	color: #9C9186 !important;
}
.pv-footer-insta-link:hover,
.pv-footer-insta-link:active {
	color: #C89B6C !important;
}
.pv-footer-insta-link span { color: inherit; }

/* ===== ریسپانسیو موبایل — کوچک‌تر و فشرده‌تر ===== */
@media (max-width: 480px) {
	.pv-hero { padding: 40px 16px 26px; }
	.pv-hero-cup { width: 46px; height: 46px; }
	.pv-title { font-size: 32px; }
	.pv-hero-sub { font-size: 10.5px; letter-spacing: 2px; margin-bottom: 20px; }
	.pv-btn-main { font-size: 14px; padding: 10px 30px; }

	.pv-gallery-item { width: 100px; height: 72px; margin-left: 9px; }

	.pv-categories { padding: 16px 12px 28px; }
	.pv-category-head { font-size: 15px; padding: 13px 2px; }
	.pv-category-name i { font-size: 17px; }
	.pv-item-name { font-size: 13px; }
	.pv-item-note { font-size: 11px; }
	.pv-item-price { font-size: 12px; }

	.pv-footer-inner { font-size: 10.5px; gap: 6px; }
	.pv-footer-map-thumb { width: 28px; height: 28px; }
	.pv-footer-map-preview { width: 32px; height: 32px; }
	.pv-footer-col i { font-size: 16px; }

	.pv-btn-secondary { font-size: 14px; padding: 10px 30px; }
	.pv-item-thumb { width: 38px; height: 38px; }
}

@media (max-width: 360px) {
	.pv-title { font-size: 27px; }
	.pv-btn-main { font-size: 13px; padding: 9px 26px; }
	.pv-btn-secondary { font-size: 13px; padding: 9px 26px; }
	.pv-gallery-item { width: 84px; height: 60px; }
	.pv-category-head { font-size: 13.5px; }
	.pv-footer-inner { font-size: 9.5px; }
}

/* ================= MODAL ================= */

.pv-item{
cursor:pointer;
transition:.35s;
}

.pv-item:hover{
transform:translateY(-6px) scale(1.03);
background:#221d18;
border-radius:14px;
}

.food-modal{

position:fixed;

left:0;
top:0;

width:100%;
height:100%;

display:flex;

justify-content:center;

align-items:center;

background:rgba(0,0,0,.45);

backdrop-filter:blur(8px);

-webkit-backdrop-filter:blur(8px);

opacity:0;

visibility:hidden;

transition:.35s;

z-index:999999;

}

.food-modal.active{

opacity:1;

visibility:visible;

}

.food-modal-content{

position:relative;

width:92%;

max-width:430px;

background:#221d18;

border-radius:22px;

overflow:hidden;

transform:scale(.75);

transition:.35s cubic-bezier(.22,1,.36,1);

box-shadow:0 25px 70px rgba(0,0,0,.5);

}

.food-modal.active .food-modal-content{

transform:scale(1);

}

.food-modal img{

width:100%;

height:260px;

display:block;

object-fit:cover;

}

.food-close{

position:absolute;

top:12px;

left:12px;

width:38px;

height:38px;

border-radius:50%;

background:rgba(0,0,0,.45);

display:flex;

justify-content:center;

align-items:center;

font-size:28px;

cursor:pointer;

color:#fff;

}

#modalTitle{

padding:22px 22px 5px;

font-size:24px;

color:#fff;

}

.modal-price{

padding:0 22px 24px;

font-size:20px;

font-weight:bold;

color:#C89B6C;

}

.pv-gallery-item{

cursor:pointer;

transition:.35s;

}

.pv-gallery-item:hover{

transform:scale(1.08);

}

.pv-gallery-item img{

transition:.45s;

}

.pv-gallery-item:hover img{

transform:scale(1.15);

}