:root{--bg:#090b17;--surface:#15172a;--surface2:#20223a;--line:#303247;--white:#f7f4ef;--muted:#aeafc3;--gold:#e4bf78;--gold2:#f7dda4;--error:#f9a7ae}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 7% 2%,#22203b 0%,transparent 35%),var(--bg);color:var(--white);font-family:Tahoma,Arial,sans-serif;line-height:1.85}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{background:#0e1122;color:var(--white);border:1px solid #46445a;border-radius:11px;padding:11px 13px;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e4bf7820}input[type=file]{padding:9px}input[type=checkbox]{width:auto;accent-color:var(--gold)}input[type=range]{accent-color:var(--gold);padding:0}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,5vw,70px);line-height:1.3}h2{font-size:clamp(25px,3vw,38px)}h3{font-size:20px}.shell{width:min(1180px,calc(100% - 36px));margin:0 auto}.narrow{width:min(660px,calc(100% - 36px));margin:75px auto}.topbar{border-bottom:1px solid #ffffff16;background:#0e1020c9;backdrop-filter:blur(14px);position:sticky;top:0;z-index:25}.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:78px}.wordmark{font-size:23px;font-weight:800;display:flex;gap:12px;align-items:center;line-height:1.3}.wordmark small{display:block;font-size:10px;color:var(--muted);font-weight:400}.emblem{font-size:34px;color:var(--gold)}nav{display:flex;gap:22px;font-size:13px;color:#d5d1dd}nav a:hover,.quiet:hover{color:var(--gold)}.hero{padding:62px 0 20px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.eyebrow{font-size:12px;font-weight:bold;color:var(--gold);letter-spacing:1px}.hero-copy h1{margin:16px 0 12px;font-weight:900}.lead{font-size:23px;color:var(--gold2)}.hero-description{color:var(--muted);white-space:pre-line}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin:28px 0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:none;border-radius:12px;background:linear-gradient(135deg,#f2d9a3,#dca960);color:#26202a;font-weight:800;padding:11px 23px;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ddb67730}.btn.outline{background:transparent;color:var(--gold2);border:1px solid #806c50}.btn.small{padding:7px 11px;font-size:12px}.btn.danger{background:#692b3a;color:white}.venue-line{color:#c7bfce;font-size:13px}.hero-media{height:470px;border:1px solid #67583d;border-radius:25px;overflow:hidden;position:relative;background:linear-gradient(120deg,#343150,#a0774b)}.hero-media img{width:100%;height:100%;object-fit:cover;display:block}.hero-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle,#80704a,#35314d 55%,#101329);color:var(--gold)}.hero-placeholder span{font-size:90px;line-height:1}.hero-placeholder div{font-size:70px;font-weight:900}.hero-placeholder small{letter-spacing:4px}.section{padding:60px 0 10px;scroll-margin-top:105px}.section-title{margin-bottom:23px}.section-title h2{margin:9px 0 8px}.muted,.help{color:var(--muted);font-size:13px}.about-grid{display:grid;grid-template-columns:1.4fr .65fr;gap:25px;align-items:start}.panel{background:linear-gradient(145deg,#1b1c32,#131626);border:1px solid var(--line);border-radius:19px;padding:26px;margin-bottom:20px}.about-copy{color:#dcd9e4;min-height:260px}.detail-line{display:flex;gap:20px;border-top:1px solid #ffffff12;padding:15px 0}.detail-line strong{min-width:100px;color:var(--gold)}.poster{border-radius:19px;overflow:hidden;min-height:280px;background:#2c2b46}.poster img{display:block;width:100%;height:auto}.placeholder-poster{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--gold);min-height:350px}.placeholder-poster span{font-size:70px}.schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.schedule-card{border:1px solid #494456;border-radius:17px;background:#181b2f;text-align:right;color:white;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;transition:.2s}.schedule-card:hover:not(:disabled),.schedule-card.selected{border-color:var(--gold);background:#282536;transform:translateY(-3px)}.schedule-card:disabled{opacity:.52;cursor:not-allowed}.schedule-date{font-size:18px;font-weight:800}.schedule-time{color:#dfd9e4}.availability{color:#a2dfc7;font-size:12px}.availability.soldout{color:#fca9ae}.pick-label{color:var(--gold);font-weight:800;font-size:13px}.booking-panel{margin-top:22px;border-color:#8d7650}.booking-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.icon-button{background:#39384d;color:#fff;border:0;width:36px;height:36px;border-radius:8px;font-size:23px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:end}.span2{grid-column:1/-1}.form-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.reservation-summary{background:#232538;padding:14px;border-radius:11px;color:var(--gold)}.stack{display:flex;flex-direction:column;gap:20px}.quiet{font-size:13px;color:#c2bec8}.notice{padding:17px 20px;margin:15px 0;background:#213c32;border:1px solid #33765e;border-radius:14px}.notice.error{background:#47232d;border-color:#92505a;color:#ffced2}.empty{text-align:center;padding:40px}.footer{border-top:1px solid #ffffff10;margin-top:60px;padding:25px 0;color:#888ba1;font-size:12px}.centered{text-align:center}.success-icon{font-size:53px;color:#bce4c7}.reference{font-size:30px;color:var(--gold);direction:ltr;display:block;letter-spacing:4px;margin-bottom:20px}.admin-page{padding-top:45px}.admin-heading{display:flex;justify-content:space-between;gap:18px;align-items:center}.admin-heading h1{font-size:37px;margin:6px 0}.admin-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-top:15px}.admin-tabs a{background:#25263b;border:1px solid #38354a;border-radius:10px;padding:9px 15px;font-size:13px}.admin-tabs a:hover{border-color:var(--gold)}.admin-preview{display:block;width:100%;max-height:200px;object-fit:contain;background:#080a15;border-radius:12px}.check{display:flex;flex-direction:row;align-items:center;gap:10px}.table-panel{overflow:hidden}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th,td{text-align:right;padding:12px 10px;border-bottom:1px solid #ffffff12;vertical-align:middle}th{color:var(--gold);background:#ffffff06}td{color:#ddd9e3}.inline-form{display:flex;gap:10px;align-items:end}.inline-form input[type=number]{width:90px}.tag{border-radius:12px;padding:4px 8px;color:#b5e3c9;background:#24533f}.tag.canceled{color:#f9bdc8;background:#592e3f}@media(max-width:850px){.hero{grid-template-columns:1fr;gap:27px}.hero-media{height:330px}.about-grid{grid-template-columns:1fr 250px}.schedule-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:580px){.hero{padding-top:35px}.about-grid,.schedule-grid,.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.hero-media{height:290px}.topbar-inner{min-height:65px}.wordmark{font-size:20px}nav{gap:10px;font-size:11px}.panel{padding:18px}.section{padding-top:42px}.admin-heading h1{font-size:28px}.admin-preview{max-height:150px}}

.jalali-calendar[hidden]{display:none!important}.calendar-launch{width:100%;padding:9px 12px;border-radius:10px;border:1px solid #b99b62;background:#2b2636;color:#f7dda4}.jalali-calendar{background:#202137;border:1px solid #8f7650;padding:14px;border-radius:14px;box-shadow:0 18px 42px #0005;max-width:370px;direction:rtl}.jcal-top,.jcal-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.jcal-top button,.jcal-bottom button{width:auto;background:#343449;color:white;border:1px solid #5b566c;border-radius:8px;padding:4px 14px}.jcal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center;margin:12px 0}.jcal-week{color:#f0cc87;font-size:12px}.jcal-grid button{width:100%;border:0;border-radius:8px;color:white;background:#303047;min-height:35px;padding:5px 0}.jcal-grid button:hover:not(:disabled){background:#6b5b41}.jcal-grid button:disabled{opacity:.28;cursor:not-allowed}.jcal-grid button.is-selected{background:#cba567;color:#101321}

/* سانس‌های گذشته: غیرقابل انتخاب و خاکستری */
.schedule-card.schedule-past,.schedule-card.schedule-past:disabled{opacity:1!important;filter:grayscale(1);background:#252631!important;border-color:#4b4c59!important;color:#a3a4ad!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}
.schedule-card.schedule-past .schedule-date,.schedule-card.schedule-past .schedule-time,.schedule-card.schedule-past .availability,.schedule-card.schedule-past .pick-label{color:#a3a4ad!important}
.delete-performance-form{margin-top:8px;display:inline-flex}

/* Full-width, intrinsic-ratio banner below the navigation */
.site-banner{width:100%;margin:0;padding:0;line-height:0;overflow:visible;background:transparent;}
.site-banner img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center center;border:0;border-radius:0;opacity:1;filter:none;}
/* Intro copy now follows the wide banner, not a split-screen image */
.hero{display:block;padding:42px 0 12px;text-align:center;}
.hero-copy{max-width:920px;margin:0 auto;}
.hero-actions{justify-content:center;}
@media(max-width:850px){.hero{display:block;padding:30px 0 12px;}}
@media(max-width:580px){.hero{padding-top:25px;}.hero-copy h1{font-size:clamp(32px,9vw,60px);}}

/* Responsive wide banner with fixed 3:1 container and no image crop */
.site-banner{width:100%;aspect-ratio:3 / 1;max-height:none;margin:0 auto;overflow:hidden;background:#090b17;display:flex;align-items:center;justify-content:center;line-height:0;}
.site-banner img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;opacity:1;filter:none;border:0;border-radius:0;}
@media(max-width:580px){.site-banner{aspect-ratio:3 / 1;}}

/* Final responsive banner: fixed wide frame, no cropping or stretching. */
.site-banner{display:block!important;position:relative!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;aspect-ratio:3/1!important;height:auto!important;max-height:none!important;margin:0 auto!important;padding:0!important;overflow:hidden!important;background:#090b17!important;line-height:0!important;border:0!important}
.site-banner>img{display:block!important;width:100%!important;height:100%!important;position:absolute!important;inset:0!important;object-fit:contain!important;object-position:50% 50%!important;max-height:none!important;min-height:0!important;max-width:100%!important;opacity:1!important;filter:none!important;transform:none!important;border:0!important;border-radius:0!important;}
@media(min-width:1200px){.site-banner{aspect-ratio:3/1!important}}
@media(max-width:767px){.site-banner{aspect-ratio:3/1!important}}

/* Location map – responsive replacement for show poster */
.venue-map-card{border:1px solid #34394d;background:#171a2c;border-radius:19px;overflow:hidden;min-width:0;align-self:start}
.venue-map-frame{position:relative;width:100%;aspect-ratio:4/3;min-height:240px;background:#26283a;overflow:hidden}
.venue-map-frame iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;filter:none}
.venue-map-click{position:absolute;inset:0;z-index:2;cursor:pointer;background:transparent}
.venue-map-click:focus-visible{outline:3px solid #e4bf78;outline-offset:-5px}
.venue-map-bottom{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:13px 14px;color:#e9e0ca;font-size:13px}
.venue-map-button{display:inline-flex;align-items:center;justify-content:center;color:#201a22;background:#e4bf78;border-radius:10px;padding:8px 12px;font-weight:800;text-decoration:none}
.venue-map-button:hover{background:#f5d99b;color:#16131a}
.venue-map-empty{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px;color:#e4bf78}
.venue-map-empty span{font-size:48px}.venue-map-empty small{color:#bbb5ca}
@media(max-width:850px){.venue-map-frame{aspect-ratio:4/3}}
@media(max-width:580px){.venue-map-frame{aspect-ratio:16/11;min-height:215px}.venue-map-bottom{flex-direction:column;align-items:stretch}.venue-map-button{width:100%}}
