/* Public theme refinements. Loaded after the archived theme and responsive CSS.
   Keep the original composition; override its fixed dimensions and heavy chrome. */
body.site {
  --site-bg: #111214;
  --site-panel: #1d1f22;
  --site-line: #36383d;
  --site-text: #e5e5e7;
  --site-muted: #b7b8be;
  --site-accent: #781c2b;
  background: var(--site-bg);
  color: var(--site-text);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
}
body.site #page { background: var(--site-bg); }
body.site p, body.site li { line-height: 1.65; }
body.site p { margin-bottom: 16px; }
body.site :is(h1, h2, h3, h4, h5, h6) {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.35;
  color: #f6f6f7;
  text-shadow: none;
}
body.site a { text-shadow: none; }
body.site a:focus-visible, body.site button:focus-visible, body.site input:focus-visible {
  outline: 2px solid #f3a6b2;
  outline-offset: 4px;
}
body.site .wrapper { width: min(1200px, calc(100% - 64px)); }
body.site .wrapper > .row-fluid > .span12 { width: 100%; margin: 0; }
body.site .l-col, body.site .r-col {
  box-sizing: border-box;
  min-width: 0;
}
body.site .l-col { width: 69%; padding-right: 32px; }
body.site .r-col { width: 31%; padding-left: 28px; }
body.site .r-color { display: none; }
body.site img { max-width: 100%; }

/* Brand and contact details share a baseline, without negative positioning. */
body.site #header-bottom { background: var(--site-bg); }
body.site #header-bottom .span12 { display: flex; align-items: center; gap: 0; }
body.site #header-bottom .l-col {
  display: flex; align-items: center; gap: 28px;
  height: auto; padding: 24px 32px 24px 0;
}
body.site #logo-image { float: none !important; width: auto !important; flex: 0 0 88px; margin: 0 !important; }
body.site #logo-image img { display: block; width: 88px; height: auto; }
body.site .top-banner { float: none; padding: 0; margin: 0; text-align: left !important; }
body.site .top-banner h2 {
  color: var(--site-muted); font-size: 13px !important;
  font-weight: 400; line-height: 1.6; text-transform: none; margin: 0;
}
body.site .top-banner h2 img { width: 160px; margin-bottom: 8px; }
body.site .widget-area-1 { padding: 16px 0; }
body.site .widget-area-1 .widget-title { margin: 0 0 10px; font-size: 15px !important; }
body.site .widget-area-1 .textwidget { line-height: 1.9; font-size: 13px; }
body.site .widget-area-1 a { color: var(--site-text); font-weight: 400; }

/* Compact navigation and a comfortably sized search control. */
body.site #header-top, body.site #header-top .l-col { background: #641522; }
body.site #header-top .r-col { background: transparent !important; }
body.site #header-top .span12 { display: flex; align-items: center; }
body.site #header-top .l-col { width: 78%; padding: 0; }
body.site #header-top .r-col { width: 22%; padding: 0 0 0 20px; }
body.site #main-menu { display: flex; flex-wrap: wrap; margin: 0; }
body.site #main-menu > li { float: none; }
body.site #main-menu > li > a {
  font-family: inherit; font-size: 12px; font-weight: 500;
  letter-spacing: .025em; padding: 18px 11px; line-height: 20px;
}
body.site #main-menu > li:hover > a, body.site #main-menu > li:focus-within > a { background: #842637; }
body.site #main-menu li ul { margin: 0; top: 100%; background: var(--site-panel); }
body.site #main-menu li ul li { border-color: var(--site-line); }
body.site #main-menu li ul li a { font-family: inherit; font-weight: 400; line-height: 1.5; }
body.site #main-menu li ul li ul { top: 0; }
/* Override the slider-era menu script's inline hiding for keyboard access. */
body.site #main-menu li:focus-within > ul { display: block !important; visibility: visible !important; opacity: 1 !important; }
body.site .search-box { margin: 10px 0; }
body.site .search-box .search-form .search-text {
  box-sizing: border-box; height: 36px; line-height: 36px;
  padding: 0 68px 0 12px; border: 1px solid #a34b5b; border-radius: 6px;
  background: #45101a; color: #fff; font-family: inherit;
}
body.site .search-text::placeholder { color: #e2bdc4; opacity: 1; }
body.site .search-box .search-form .search-submit {
  height: 28px; top: 4px; right: 4px; line-height: 28px;
  background: #842637; border-radius: 4px; font-family: inherit; cursor: pointer;
}

/* Give the film the available column width and soften the About panel. */
body.site .top-sidebar, body.site .top-sidebar .l-col { background: var(--site-bg); }
body.site .top-sidebar .span12 { display: flex; align-items: stretch; }
body.site .top-sidebar .widget-area-2 { padding-top: 32px; padding-bottom: 32px; }
body.site .top-sidebar .widget-area-3 { background: var(--site-panel); padding: 28px; }
body.site .home-slider { margin: 0; background: none; border: 0; box-shadow: none; }
body.site .home-slider .slides { margin: 0; }
body.site .home-slider .entry-item .entry-thumb { width: 100% !important; margin: 0; float: none; }
body.site .home-slider .featured-video-plus { width: 100%; }
body.site .home-slider iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 6px; }
body.site .widget-area-3 .textwidget { color: #d0d1d5; font-weight: 400; }
body.site .widget-area-3 h4.movie {
  background: none; color: #f6f6f7; padding: 0 0 16px; margin: 0 0 18px;
  border-bottom: 1px solid var(--site-line); font-size: 20px !important;
}
body.site .readmore a, body.site .r-col.widget-area-7 #nav_menu-2 #menu-sidebar-manu li:last-child a {
  display: inline-block; float: none; padding: 9px 16px;
  background: var(--site-accent); border: 1px solid #a04454; border-radius: 5px;
  font-size: 12px; font-weight: 500; line-height: 1.5; text-transform: none;
}
body.site .readmore a:hover { background: #922c3c; }
body.site .widget-area-3 p:last-child { margin-bottom: 0; }

/* The gallery band is a section heading, with its own clear visual hierarchy. */
body.site .kp-headline-wrapper { background: #25272b; max-height: none; border-block: 1px solid var(--site-line); }
body.site .kp-headline-wrapper .span12 { display: flex; align-items: center; }
body.site .kp-headline-wrapper .widget-area-4 { padding-block: 22px; }
body.site h4.kp-headline-title {
  display: block; float: none; margin: 0; padding: 0 0 0 16px;
  border-left: 3px solid #dc7486; color: #fff; font-size: 22px !important; line-height: 1.4;
}
body.site .kp-headline-title #headline-home { display: inline; font-weight: 500; }
body.site .kp-headline-title span + span { display: none; }
body.site .widget-area-5 { padding-block: 16px; }
body.site .social-links { margin: 0; }
body.site .social-links h2 { font-size: 16px !important; margin: 0 0 16px; }
body.site .widget-area-5 .social-links h2 { display: none; }
body.site .social-links ul {
  display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0;
}
body.site .social-links li { list-style: none; margin: 0; padding: 0; border: 0; }
body.site .social-links li a {
  box-sizing: border-box; display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border: 1px solid #50535b; border-radius: 7px;
  background: #303238; color: #eee; font-size: 20px; text-decoration: none;
  transition: background .15s, border-color .15s;
}
body.site .social-links li a:hover { background: var(--site-accent); border-color: #c96879; }
body.site .social-links .fa { font-family: FontAwesome; font-style: normal; font-weight: normal; }

/* Consistent spacing and quieter dividers through galleries and sidebars. */
body.site #main-content, body.site #main-content .l-col { background: var(--site-bg); }
body.site #main-content .l-col { padding-top: 32px; }
body.site #main-content .r-col { background: var(--site-panel); padding: 32px 28px; }
body.site #main-content :is(h2.widgettitle, h4.widget-title) {
  font-size: 18px !important; font-weight: 500; line-height: 1.4;
  border-color: var(--site-line); padding-bottom: 16px; margin-bottom: 24px;
}
body.site .widget-area-7 .widget ul { margin-left: 0; }
body.site .widget-area-7 .widget ul li { border-color: var(--site-line); }
body.site .r-col.widget-area-7 #nav_menu-2 li a { font-weight: 400; line-height: 1.6; }
body.site #kopa_widget_articles_list-2 ul li { background: transparent; padding: 12px 0 !important; }
body.site #kopa_widget_articles_list-2 ul li a { color: var(--site-text) !important; font-weight: 400; }
body.site .entry-thumb img { border-radius: 5px; }
body.site #bottom-sidebar { background: var(--site-panel); border-top: 1px solid var(--site-line); }
body.site #bottom-sidebar .widget-title { font-weight: 400; line-height: 2; }
body.site #page-footer, body.site #page-footer .l-col, body.site #page-footer .r-col { background: #18191c !important; }

@media (max-width: 1100px) {
  body.site #header-top .span12 { flex-wrap: wrap; }
  body.site #header-top .l-col { width: 100%; }
  body.site #header-top .r-col { width: 100%; padding: 0 0 12px; }
  body.site .search-box { max-width: 360px; margin: 0; }
  body.site #main-menu > li > a { padding-inline: 12px; }
  body.site .l-col { width: 65%; }
  body.site .r-col { width: 35%; }
}
@media (max-width: 800px) {
  body.site .wrapper { width: calc(100% - 40px); }
  body.site .top-sidebar .span12, body.site .kp-headline-wrapper .span12 { flex-wrap: wrap; }
  body.site .l-col, body.site .r-col { width: 100%; float: none; padding-inline: 0; }
  body.site #header-bottom .l-col { width: 65%; gap: 18px; padding-right: 20px; }
  body.site #header-bottom .r-col { width: 35%; }
  body.site #logo-image { flex-basis: 72px; }
  body.site #logo-image img { width: 72px; }
  body.site .top-sidebar .widget-area-3 { padding: 24px; margin-bottom: 24px; }
  body.site .kp-headline-wrapper .widget-area-4 { padding-bottom: 0; }
  body.site .widget-area-5 { padding-block: 18px; }
  body.site #main-content .r-col { padding: 24px; }
  body.site #main-menu { display: flex; }
  body.site #mobile-menu { display: none !important; }
  body.site #main-menu > li > a { padding: 12px 10px; font-size: 11px; }
  body.site #main-menu li ul { width: 180px; }
  body.site #main-menu li ul li ul { position: static; width: auto; margin-left: 10px; }
  body.site .widget-area-11 { width: 100% !important; }
}
@media (max-width: 540px) {
  body.site #header-bottom .span12 { flex-wrap: wrap; }
  body.site #header-bottom .l-col { width: 100%; padding: 24px 0 12px; }
  body.site #header-bottom .r-col { width: 100%; }
  body.site .widget-area-1 { padding: 0 0 20px; }
  body.site .widget-area-1 .widget-title { margin-bottom: 4px; }
  body.site #main-menu > li > a { font-size: 10px; padding: 12px 8px; }
  body.site .search-box { max-width: none; }
  body.site .top-sidebar .widget-area-2 { padding-block: 24px; }
  body.site #kopa_widget_articles_list_thumbnails-2.widget ul { margin-left: 0; }
  body.site #kopa_widget_articles_list_thumbnails-2.widget ul li article { width: 100%; padding-right: 0; }
  body.site #kopa_widget_articles_list_thumbnails-2.widget ul li { display: block; }
}
@media (prefers-reduced-motion: reduce) {
  body.site *, body.site *::before, body.site *::after { transition: none !important; animation: none !important; }
}

/* A single embedded film must remain visible before slider scripts initialize. */
body.site .home-slider .slides > li:only-child { display: block !important; width: 100%; margin: 0; }
body.site .home-slider .entry-item { margin: 0; }
body.site .widget-area-3 .textwidget p { color: #d0d1d5; font-size: 13.5px; line-height: 1.65; margin-bottom: 12px; }
body.site .widget-area-3 .textwidget p:empty { display: none; }
body.site .widget-area-3 .textwidget p:last-child { margin-bottom: 0; }

/* Interior pages share the same readable dark palette as the homepage. */
body.site .widget-area-1 .widget { margin-bottom: 0; }
body.site #page > .mx-auto { box-sizing: border-box; width: 100%; }
body.site #page > .mx-auto :is(.text-ink-500, .text-ink-600, .text-ink-700) { color: var(--site-muted); }
body.site #page > .mx-auto :is(h1, h2, h3, h4) a { color: inherit; }
body.site .prose-wp { color: var(--site-text); }
body.site .prose-wp :is(h2, h3, h4, .widgettitle, .entry-title) { color: #f6f6f7; font-weight: 500; }
body.site .prose-wp a { color: #ee9cab; text-underline-offset: 3px; }
body.site .prose-wp :is(th, td) { border-color: var(--site-line); }
body.site .prose-wp th { background: var(--site-panel); }
body.site .prose-wp :is(blockquote, figcaption, .wp-caption-text) { color: var(--site-muted); }
body.site .prose-wp blockquote { background: var(--site-panel); border-left-color: #dc7486; }
body.site .prose-wp :is(input, textarea, select) { box-sizing: border-box; max-width: 100%; }
/* Contain migrated floated content so the footer starts below the page. */
body.site .prose-wp { display: flow-root; }
body.site #bottom-sidebar { clear: both; }
body.site #bottom-sidebar .widget-area-8 { width: 100%; margin: 0; }
body.site #bottom-sidebar .widget-area-9, body.site #bottom-sidebar .widget-area-10 { display: none; }

/* CMS-managed galleries and linked video thumbnails. */
body.site .cms-photo-grid { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 8px; }
body.site .cms-photo-grid > a { flex: 0 0 180px; scroll-snap-align: start; }
body.site .cms-photo-grid img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 5px; }
body.site .widget-area-7 .entry-thumb a.cms-video-link { position: static; display: block; width: 100%; height: auto; background: none; border: none; }
body.site .cms-video-link img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
body.site .cms-image-placeholder { display: flex; align-items: center; min-height: 80px; padding: 10px; background: #303238; color: #eee; font-size: 12px; }
