/* Local reconstruction, 2026-09-30. Original Joomla CSS was not preserved. */
:root { color-scheme: light; --paper:#f8f5ec; --ink:#25231f; --muted:#68635c; --line:#d9d2c5; --accent:#854d43; }
* { box-sizing:border-box; }
html { background:var(--paper); }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.65 Arial,Helvetica,sans-serif; }
a { color:var(--accent); text-underline-offset:.18em; }
a:hover { color:#542e28; }
a:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
img { max-width:100%; height:auto; }
#bodyMain { width:min(1080px,calc(100% - 48px)); margin:0 auto; }
#mainHeader { position:relative; padding-top:30px; border-bottom:1px solid var(--line); }
/* These shared decorative files are absent; avoid large empty banners. */
#headerBorder, #headerSeason, #headerLogin, #headerLogo img, #headerButtons img { display:none; }
#headerLogo { max-width:700px; margin-bottom:26px; }
#headerLogo::before { content:"Театральный архив"; display:block; color:var(--accent); font:700 11px/1.4 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; margin-bottom:12px; }
#headerLogo a { color:var(--ink); text-decoration:none; }
#headerLogo a::after { content:"Московский драматический театр им. К. С. Станиславского"; font:500 clamp(24px,3vw,36px)/1.15 Georgia,serif; letter-spacing:-.025em; }
#headerDate { color:var(--muted); font-size:12px; margin:12px 0 14px; }
#headerButtons { display:flex; flex-wrap:wrap; gap:6px 17px; padding:0 0 20px; font-size:12px; }
#headerButtons a[title]::after { content:attr(title); }
#headerButtons a { display:inline-block; }
#nav, #nav ul { padding:0; margin:0; list-style:none; }
#nav { display:flex; gap:0 32px; flex-wrap:wrap; border-top:1px solid var(--line); }
#nav li { position:relative; }
#nav > li > span > a { display:block; padding:14px 0; color:var(--ink); font-size:14px; font-weight:700; text-decoration:none; }
#nav > li.active > span > a { color:var(--accent); }
#nav ul { display:none; position:absolute; left:-16px; top:100%; min-width:260px; z-index:10; padding:9px; background:#f8f5ec; border:1px solid var(--line); box-shadow:0 8px 24px #25231f14; }
#nav ul ul { left:100%; top:-10px; }
#nav li:hover > ul, #nav li:focus-within > ul { display:block; }
#nav ul a { display:block; padding:7px 10px; font-size:13px; line-height:1.45; text-decoration:none; }
#nav ul a:hover { background:#eee9dd; }
#mainContent { padding:42px 0 60px; overflow-wrap:break-word; min-width:0; }
#mainContent > .componentheading, #mainContent > .contentheading, #mainContent > table.contentpaneopen:first-child .contentheading { font:500 clamp(28px,4vw,42px)/1.15 Georgia,serif; letter-spacing:-.025em; margin-bottom:28px; padding:0 0 24px; }
table.contentpaneopen { width:100%; border-spacing:0; }
.contentpaneopen td { padding:0; }
#mainContent p { margin:.6em 0 1em; }
#mainContent .contentpaneopen p, #mainContent .persona_content p, #mainContent .perf_content p { max-width:840px; }
#mainContent h1, #mainContent h2, #mainContent h3 { font-family:Georgia,serif; line-height:1.25; }
.contentheading { font:500 24px/1.3 Georgia,serif; margin-bottom:12px; }
.contentheading a { color:var(--ink); }
.clearfix::after, .divClear { content:""; display:block; clear:both; }
.pers_row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; margin:22px 0; }
.perf_card { min-width:0; padding:22px 0; border-top:1px solid var(--line); }
.perf_image, .persona_image { float:left; margin:0 22px 12px 0; }
.perf_image img, .persona_image img { max-width:200px; }
.perf_info, .persona_info { font-size:14px; line-height:1.65; }
.perf_desc { clear:both; font-size:14px; padding-top:14px !important; }
.label { color:var(--muted); }
.persona_desc, .persona_roles, .perf_akters_list, .perf_photos, .persona_photos { margin:22px 0; }
.persona_role, .schedule_perf { padding:8px 0; border-bottom:1px solid var(--line); }
.schedule, .schedule_program, .sectiontableentry1, .sectiontableentry2 { font-size:14px; }
.sectiontableheader { font-weight:700; background:#eee9dd; }
.pagenav, .pagenavbar, .pagenav_prev, .pagenav_next { font-size:13px; }
.pagenav_next { text-align:right; }
.gallery_area { margin:24px 0; }
.gallery_area table { max-width:100%; }
.view-photo, .photo_image { display:block; max-width:100%; margin:0 auto 20px; }
.photo_image { background:#eee9dd; border:1px solid var(--line); }
.small, .easygallery_copyright { font-size:12px; color:var(--muted); }
#fireboard { font-size:13px; overflow-x:auto; }
#fireboard table { border-collapse:collapse; width:100%; }
#fireboard td, #fireboard th { padding:8px; border:1px solid var(--line); vertical-align:top; }
#fireboard .fb_header { background:#eee9dd; }
input, select, textarea, button { font:inherit; max-width:100%; }
input[type=text], input[type=password], textarea, select { border:1px solid var(--line); padding:7px 10px; background:#fffdf7; color:var(--ink); }
input[type=submit], button { padding:7px 14px; border:1px solid var(--accent); background:var(--paper); color:var(--accent); }
#basescene { width:100%; min-width:650px; font-size:11px; line-height:1.3; table-layout:fixed; }
#basescene td { text-align:center; padding:3px 1px; }
#basescene .sitplace { border:1px solid #b9aea0; background:#eee9dd; }
#basescene .rc-label { font:500 20px Georgia,serif; padding:12px; }
#rc-scene { background:#e0d8ca; padding:15px; font-size:18px; }
#basescene .hbline { border-top:1px solid var(--line); }
#basescene .vlline { border-left:1px solid var(--line); }
#basescene .vrline { border-right:1px solid var(--line); }
#mainContent:has(#basescene) { overflow-x:auto; }
#mainFooter { border-top:1px solid var(--line); padding:26px 0 36px; color:var(--muted); font-size:12px; line-height:1.7; }
#footerLeft { display:grid; grid-template-columns:1.2fr 1fr; gap:30px; }
#footerMenu { margin:20px 0 10px; }
#footerMenu table { width:auto; }
#footerMenu .mainlevel { margin-right:8px; }
@media(max-width:720px) {
  body { font-size:15px; }
  #bodyMain { width:calc(100% - 32px); }
  #mainHeader { padding-top:22px; }
  #headerLogo { margin-bottom:22px; }
  #nav { gap:0 24px; }
  #nav > li > span > a { font-size:13px; padding:12px 0; }
  #nav ul { min-width:215px; }
  #nav ul ul { left:0; top:100%; }
  #mainContent { padding:30px 0 42px; }
  .pers_row, #footerLeft { grid-template-columns:1fr; gap:12px; }
  .perf_card { padding:18px 0; }
  #mainContent table:not(#basescene) { max-width:100%; }
  #mainContent .persona_image, #mainContent .perf_image { float:none; margin:0 0 15px; }
  #footerMenu td { white-space:normal; }
}
@media print {
  #headerMenu, #headerButtons, #headerLogin, #footerMenu { display:none; }
  body, html { background:#fff; }
  #bodyMain { width:100%; }
  #mainContent { padding:20px 0; }
}
