/* Shared frontend adjustments for the standalone static export. */
.aux-search-popup, .aux-search-overlay { display: none !important; }
/* Show content immediately, including sections not yet scrolled into view. */
.aux-page-animation-overlay { display: none !important; }
.aux-appear-watch-animation,
.aux-appear-watch,
.elementor-invisible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  clip-path: none !important;
  animation: none !important;
  transition: none !important;
}
/* A completed header animation must not trap the fixed mobile navigation. */
#site-elementor-header .aux-animated-once { transform: none !important; }
#site-elementor-header .aux-fs-popup { height: 100dvh; overflow-y: auto; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .elementor-element, .aux-appear-watch { animation-duration: 1ms !important; transition-duration: 1ms !important; }
}
/* Comparison mode shows the same first hero image on both sides. */
html.compare-view .elementor-background-slideshow { visibility: hidden; }
html.compare-view .elementor-element-da5db3e { background-size: cover; background-position: center; }
html.compare-view { scroll-behavior: auto !important; }

/* Homepage color proposal: only color, borders and shadow treatments change. */
body.forest {
  --e-global-color-primary: #252525;
  --e-global-color-secondary: #F4F1E9;
  --e-global-color-text: #252525;
  --e-global-color-accent: #26352D;
  --e-global-color-2b6af51: #26352D;
  background-color: #F4F1E9;
  color: #252525;
}
body.forest .aux-modern-button .aux-overlay::before,
body.forest .elementor-66 .aux-modern-button .aux-overlay::before {
  background: #26352D !important;
  box-shadow: none !important;
}
body.forest .aux-modern-button .aux-overlay::after,
body.forest .elementor-66 .aux-modern-button .aux-overlay::after {
  background: #34483B !important;
  box-shadow: none !important;
}
body.forest .aux-modern-button .aux-text,
body.forest .aux-modern-button:hover .aux-text { color: #fff !important; }
body.forest :is(.elementor-element-4f5fdc3, .elementor-element-fc15743) .aux-modern-button .aux-overlay::before {
  background: #F4F1E9 !important;
  box-shadow: inset 0 0 0 1px #b8bdb5 !important;
}
body.forest :is(.elementor-element-4f5fdc3, .elementor-element-fc15743) .aux-modern-button .aux-overlay::after {
  background: #e7e5dc !important;
  box-shadow: inset 0 0 0 1px #929b90 !important;
}
body.forest :is(.elementor-element-4f5fdc3, .elementor-element-fc15743) .aux-modern-button .aux-text {
  color: #252525 !important;
}
body.forest .elementor-72 :is(.elementor-element-580c2b1, .elementor-element-8577efc) .aux-modern-heading-secondary {
  color: #252525;
}
body.forest .elementor-72 :is(.elementor-element-580c2b1, .elementor-element-8577efc, .elementor-element-d5b555f) .aux-modern-heading-primary {
  color: #687166;
}
body.forest .elementor-72 :is(a[style*="808000"], a[style*="800000"]) { color: #26352D !important; }
/* The broad tinted service panel becomes neutral, keeping the original photo. */
body.forest .elementor-72 .elementor-element-4ae3cb4 > .elementor-widget-wrap {
  background-color: #F4F1E9;
}
body.forest .elementor-72 .elementor-element-4ae3cb4 > .elementor-element-populated > .elementor-background-overlay {
  background: #F4F1E9;
  opacity: .78;
}
body.forest .elementor-72 .elementor-element-4ae3cb4 :is(.aux-modern-heading-secondary, .col-title, .col-title a, .widget-content) {
  color: #252525 !important;
}
body.forest .elementor-72 .elementor-element-4ae3cb4 :is(.aux-modern-heading-primary, .aux-ico-box) {
  color: #26352D !important;
  fill: #26352D !important;
}
body.forest .elementor-72 .elementor-element-4ae3cb4 .aux-ico-box [stroke]:not([stroke="none"]) {
  stroke: #26352D !important;
}
body.forest .elementor-72 .elementor-element-4ae3cb4 .aux-ico-box [fill]:not([fill="none"]) {
  fill: #26352D !important;
}
body.forest .elementor-65 :is(.elementor-element-d6a291f, .elementor-element-35c437b),
body.forest .elementor-65 .elementor-social-icon { background: #26352D !important; }
body.forest .elementor-65 a:hover,
body.forest .elementor-65 .elementor-social-icon:hover i { color: #fff !important; }
body.forest .elementor-65 .elementor-social-icon:hover svg { fill: #fff !important; }
body.forest .elementor-66 .aux-fs-popup { background-color: #26352D !important; }
body.forest .elementor-66 .aux-fs-menu .aux-menu-item > .aux-item-content {
  color: #F4F1E9 !important;
  text-shadow: none !important;
}
body.forest .aux-goto-top-btn { background-color: #26352D; color: #fff; }
body.forest a:focus-visible, body.forest button:focus-visible {
  outline: 2px solid #687166; outline-offset: 4px;
}

/* One font family, three weights, and a consistent hierarchy across the site.
   Scope excludes the original homepage kept for comparison. Icon fonts retain
   their own families; never apply a font override with a universal selector. */
body.salet-typography {
  --salet-font: "Red Hat Display", Arial, sans-serif;
  --e-global-typography-primary-font-family: "Red Hat Display";
  --e-global-typography-secondary-font-family: "Red Hat Display";
  --e-global-typography-text-font-family: "Red Hat Display";
  --e-global-typography-accent-font-family: "Red Hat Display";
  font-family: var(--salet-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
}
body.salet-typography #inner-body :is(
  h1, h2, h3, h4, h5, h6, p, a, li, td, th, input, textarea, button,
  label, small, strong, b, em, blockquote, span[style*="font"],
  .aux-text, .widget-content, .aux-modern-heading-description,
  .elementor-widget-text-editor, .elementor-icon-list-text, .aux-icon-list-text
) {
  font-family: var(--salet-font) !important;
}
body.salet-typography #inner-body :is(h1, h2, h3, h4, h5, h6) {
  font-weight: 500 !important;
  letter-spacing: -.025em;
  line-height: 1.2 !important;
}
body.salet-typography #inner-body main :is(p, .widget-content, .aux-modern-heading-description) {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: 0;
}
body.salet-typography #inner-body :is(strong, b) { font-weight: 700; }
body.salet-typography #inner-body main .aux-modern-heading-secondary {
  font-size: clamp(28px, 3.2vw, 42px) !important;
}
body.salet-typography #inner-body main h1.aux-modern-heading-secondary {
  font-size: clamp(30px, 4.4vw, 64px) !important;
  line-height: 1.12 !important;
}
body.salet-typography #inner-body main :is(.col-title, h4, .elementor-heading-title) {
  font-size: 22px !important;
  line-height: 1.3 !important;
}
body.salet-typography #inner-body main .col-title a { font-weight: inherit !important; }
body.salet-typography #inner-body .aux-modern-button .aux-text {
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .01em;
}
body.salet-typography #site-elementor-header .aux-menu-depth-0 > .aux-item-content {
  font-size: 14px;
  font-weight: 700 !important;
  letter-spacing: .02em;
}
body.salet-typography #site-elementor-header .aux-submenu .aux-item-content {
  font-size: 15px;
  font-weight: 500 !important;
}
body.salet-typography #site-elementor-header .aux-fs-menu .aux-item-content {
  font-size: 20px;
  font-weight: 500 !important;
  letter-spacing: 0;
}
body.salet-typography #inner-body footer :is(h3, h4, .elementor-heading-title) {
  font-size: 20px !important;
  line-height: 1.3 !important;
}
/* Homepage labels are distinct from card titles, despite their shared class. */
body.salet-typography #inner-body .elementor-72 :is(
  .elementor-element-d5b555f, .elementor-element-580c2b1,
  .elementor-element-7241f02, .elementor-element-8577efc
) .aux-modern-heading-primary {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
body.salet-typography #inner-body .elementor-72 :is(
  .elementor-element-8fd89d8, .elementor-element-b83cf9b,
  .elementor-element-d559db1, .elementor-element-9f65214
) .aux-modern-heading-primary {
  font-size: 22px !important;
  line-height: 1.3 !important;
}
body.salet-typography #inner-body .elementor-72 .elementor-element-a7515a0 .aux-modern-heading-description,
body.salet-typography #inner-body .elementor-72 .elementor-element-a7515a0 p {
  font-size: clamp(15px, 1.5vw, 20px) !important;
  line-height: 1.6 !important;
}
body.salet-typography #inner-body .elementor-72 .elementor-element-f8ec49e .aux-modern-heading-secondary {
  font-size: clamp(18px, 1.8vw, 22px) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0;
}
body.salet-typography #inner-body .elementor-72 .elementor-element-8577efc .aux-modern-heading-secondary {
  max-width: none;
}
@media (max-width: 767px) {
  body.salet-typography #inner-body main :is(.col-title, h4, .elementor-heading-title) {
    font-size: 20px !important;
  }
}

/* Shared palette and native interactions for the complete static website. */
@font-face{font-family:'Red Hat Display';src:url('/fonts/red-hat-display-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Red Hat Display';src:url('/fonts/red-hat-display-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Red Hat Display';src:url('/fonts/red-hat-display-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--forest:#26352d;--paper:#f4f1e9;--ink:#252525;--line:#d8dcd2}
/* Catering copy sits on cream panels, including inherited list/link colors. */
#main-content .catering-copy,
#main-content .catering-copy :is(p,ul,li,span,strong,a){color:var(--ink)!important}
#main-content .catering-copy a{text-decoration:underline;text-underline-offset:3px}
html{scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--ink)}
body.home #main-content .aux-primary{padding-top:0!important}
body.forest a{color:var(--forest)}
body.forest #main-content :is(a[style*="808000"],a[style*="800000"]){color:var(--forest)!important}
body.forest :is(.aux-modern-heading-secondary,.elementor-heading-title,.aux-icon-list-text,.aux-icon-list-icon,.col-title){color:var(--ink)}
body.forest .aux-modern-heading-primary{color:var(--forest)}
body.forest .aux-modern-heading-description{color:var(--ink)}
body.forest .elementor-72 .elementor-element-a7515a0 :is(.aux-modern-heading-secondary,.aux-modern-heading-description,p){color:#fff}
body.forest .aux-modern-button{box-shadow:none!important}
body.forest .elementor-65 :is(p,a,h3,h4,.elementor-heading-title,.elementor-icon-list-text,.aux-copyright){color:var(--paper)!important}
body.forest .elementor-65 .aux-submenu{display:none}
body.forest .elementor-65 a:hover{text-decoration:underline}
body.forest .elementor-65 .aux-master-menu{visibility:visible;opacity:1}
body.forest .elementor-65 .aux-logo-sticky{display:none}
/* Legacy footer margins pulled the footer 120–150 px over the last gallery row. */
body #inner-body .aux-elementor-footer .elementor-element-d6a291f{margin-top:0!important}
body.home #main-content .elementor-element-9e72076{padding-bottom:48px}
body.forest .aux-modern-heading-description a{text-decoration:underline;text-underline-offset:3px}
body.subpage #inner-body #main-content h1{font-size:clamp(30px,3.4vw,48px)!important;font-weight:500;line-height:1.2!important}
body.subpage #main-content h3:not(.aux-modern-heading-secondary){font-size:clamp(24px,2.5vw,32px)}
.reservation-title{text-align:center;margin:0 24px 45px}
body.subpage #main-content .aux-modern-heading-secondary{color:var(--ink)!important}
body.subpage #main-content .aux-modern-heading-description{color:var(--ink)!important}
body.subpage #main-content .elementor-widget-heading .elementor-heading-title{color:var(--ink)!important}
body.subpage #main-content .aux-icon-list-item :is(.aux-icon-list-icon,.aux-icon-list-text){color:var(--ink)!important}
body.subpage #main-content .elementor-widget-wrap>.elementor-background-overlay{background:var(--paper)!important;opacity:.78!important}
body.subpage #main-content .elementor-widget-wrap:has(>.elementor-background-overlay){background-color:var(--paper)!important;box-shadow:none!important}
body.subpage #main-content :is(p,.widget-content,.aux-icon-list-text,.aux-icon-list-text a){color:var(--ink)!important}
/* Header is shared by every Czech and English page. */
.site-header{background:var(--paper);position:relative;z-index:20;font-family:'Red Hat Display',Arial,sans-serif}
.header-inner{max-width:1440px;margin:auto;min-height:106px;padding:10px 35px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;flex:none;align-items:center}.brand img{display:block;width:220px;height:auto}
/* The horizontal hills logo uses a light silhouette on the forest footer. */
body.forest .elementor-65 .aux-widget-logo img{width:240px;max-width:100%;height:auto;filter:brightness(0) invert(1);opacity:.94}
.site-header nav{display:flex;gap:22px;align-items:center}
.site-header ul{padding:0;margin:0;list-style:none;display:flex;gap:22px;align-items:center}
.site-header li{position:relative;margin:0;padding:0}
.site-header nav>ul>li{display:flex;align-items:center;min-height:44px}
.site-header nav>ul>li>a{display:inline-flex;align-items:center;min-height:44px}
.site-header a{font-size:14px;font-weight:700;line-height:1.4;text-decoration:none;white-space:nowrap}
.site-header a:hover,.site-header a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.site-header .booking-link{padding:15px 20px;background:var(--forest);color:#fff;text-decoration:none}
.site-header .booking-link:hover{background:#34483b;color:#fff}
.submenu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:none;border:0;background:transparent;color:var(--forest);font:inherit;font-size:14px;font-weight:700;line-height:1.4;white-space:nowrap;width:auto;min-height:44px;margin:0;padding:0;cursor:pointer}
.submenu-toggle::after{content:'';flex:none;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.submenu-toggle:hover .submenu-label{text-decoration:underline;text-underline-offset:5px}
.submenu-toggle:focus-visible{outline:2px solid var(--forest);outline-offset:5px}
.nav-group.is-open>.submenu-toggle::after{transform:translateY(2px) rotate(225deg)}
.site-header .nav-group.is-open{background:#e3e8df}
.site-header .nav-group>ul{display:none;position:absolute;top:100%;left:-14px;min-width:260px;width:max-content;max-width:340px;padding:10px 0;background:var(--forest);box-shadow:0 12px 28px #17221b35;border:1px solid #405449;z-index:25;gap:0;align-items:stretch}
.site-header .nav-group>ul a{display:block;padding:12px 18px;color:var(--paper)!important;font-weight:500;white-space:normal;line-height:1.45;text-decoration:none}
.site-header .nav-group>ul a:hover,.site-header .nav-group>ul a:focus-visible{background:#405449;color:#fff!important;text-decoration:underline;text-underline-offset:4px}
.site-header .nav-group.is-open>ul{display:block}
.site-header .language-link{gap:8px}
.language-flag{display:block;flex:none;width:24px;height:16px;object-fit:cover;box-shadow:0 0 0 1px #26352d20}
.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:8px;cursor:pointer}
.menu-toggle span{display:block;width:28px;height:3px;background:var(--forest);margin:5px 0}
.page-banner{height:240px;background-size:cover;background-position:center 53%;position:relative}
.skip-link{position:absolute;top:-100px;left:20px;z-index:100;background:var(--paper);padding:15px}.skip-link:focus{top:10px}
/* Slideshow controls stay visible in both the public and photo review modes. */
/* Preserve the photographs' colours; shade only the side carrying the white text. */
body.forest [data-slideshow]>.elementor-background-overlay{background:linear-gradient(90deg,rgba(0,0,0,.20) 0%,rgba(0,0,0,.08) 40%,rgba(0,0,0,0) 70%)!important;opacity:1!important}
body.forest [data-slideshow] .aux-modern-heading-secondary,body.forest [data-slideshow] .aux-modern-heading-description{text-shadow:0 2px 4px rgba(0,0,0,.65)}
.hero-slider>.elementor-container{padding-bottom:80px}
.hero-slider-controls{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:4;color:#fff}
.hero-slide-dots{display:flex;align-items:center}
.hero-slider-controls .hero-slide-dot{display:flex;align-items:center;justify-content:center;flex:none;min-width:0;width:32px;height:40px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#fff;cursor:pointer}
.hero-slide-dot::after{content:'';display:block;width:8px;height:8px;border:1px solid #ffffffc0;border-radius:50%;background:#ffffff40;box-shadow:0 1px 4px #0008}
.hero-slide-dot[aria-pressed=true]::after,.hero-slide-dot:hover::after{background:#fff;border-color:#fff}
body.forest .hero-slider-controls button:focus-visible{outline:2px solid #fff;outline-offset:-5px}
@media(max-width:600px){.hero-slider-controls{bottom:18px}.hero-slider-controls .hero-slide-dot{height:44px}}
@media(max-width:1200px){
 .header-inner{justify-content:center;gap:20px;padding:12px 24px;min-height:106px}.brand img{width:200px;max-width:calc(100vw - 112px)}.menu-toggle{display:block}
 .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 28px 32px;max-height:calc(100dvh - var(--menu-offset,106px));overflow:auto;border-top:1px solid var(--line);box-shadow:0 20px 30px #26352d20}
 .site-header.menu-open nav{display:block}.site-header nav>ul{display:block}.site-header nav>ul>li{padding:7px 0}.site-header nav a{font-size:18px}.site-header nav .booking-link{display:inline-block;margin-top:20px;font-size:15px}
 .site-header nav>ul>li{flex-wrap:wrap}.site-header .nav-group.is-open{background:transparent}
 .site-header .nav-group>ul{position:static;flex-basis:100%;width:100%;min-width:0;max-width:none;margin:4px 0 8px;box-shadow:none;padding:8px 0;background:var(--forest)}.site-header .nav-group>ul a{font-size:16px;font-weight:400;padding:11px 16px}
 .submenu-toggle{width:100%;justify-content:space-between;font-size:18px;padding-right:12px;text-align:left}
 .menu-open .menu-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
 body.menu-open{overflow:hidden}.page-banner{height:200px}
}
/* CSS grid replaces the plugin's image layout; no delayed masonry reflow. */
body #inner-body .gallery{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;width:100%;height:auto!important;margin:0!important;padding:0!important;position:static!important}
body #inner-body .gallery::after,body #inner-body .gallery::before{display:none}
body #inner-body .gallery .gallery-item{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;position:relative!important;left:auto!important;top:auto!important;transform:none!important;float:none!important}
body #inner-body .gallery a{display:block;position:relative;overflow:hidden}
body #inner-body .gallery .gallery-icon{margin:0!important}
body #inner-body .gallery img{display:block;width:100%!important;height:auto!important;aspect-ratio:1!important;object-fit:cover;opacity:1!important;border:0!important}
body #inner-body .gallery br{display:none}
body #inner-body .elementor-image-gallery{overflow:visible}
@media(max-width:1024px){body #inner-body .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){body #inner-body .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
/* Tables retain all prices and allow horizontal scrolling on small screens. */
.table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);margin:16px 0 28px}
body #inner-body table{border-collapse:collapse;width:100%;font-size:15px;margin:0}
body #inner-body th{background:var(--forest);color:#fff;font-weight:500;text-align:left}
body #inner-body td,body #inner-body th{padding:15px 16px;border:1px solid var(--line);vertical-align:top}
body #inner-body tbody tr:nth-child(odd){background:#faf9f5}
body #inner-body tbody tr:nth-child(even){background:var(--paper)}
@media(max-width:767px){body #inner-body table{min-width:820px}}
.back-to-top{position:fixed;right:24px;bottom:24px;width:44px;min-width:0;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--forest);font-size:24px;cursor:pointer;z-index:15}
.back-to-top[hidden]{display:none}
/* Native, keyboard-accessible photo viewer. */
.photo-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:60px 70px;background:#17221bf5;color:#fff;overflow:hidden}
.photo-dialog::backdrop{background:#17221b}
.photo-dialog figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.photo-dialog img{display:block;max-width:100%;max-height:calc(100dvh - 160px);width:auto;height:auto;object-fit:contain}
.photo-dialog figcaption{font:400 14px 'Red Hat Display',sans-serif;color:#fff}
.photo-dialog button{position:absolute;background:transparent;border:1px solid #ffffff70;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;color:#fff;font-size:26px;cursor:pointer}
.photo-close{right:20px;top:18px}.photo-prev{left:16px;top:calc(50% - 22px)}.photo-next{right:16px;top:calc(50% - 22px)}
.photo-dialog button:hover{background:#ffffff20}.photo-dialog button:focus-visible{outline:2px solid white;outline-offset:5px}
@media(max-width:600px){.photo-dialog{padding:70px 12px 100px}.photo-prev,.photo-next{top:auto;bottom:24px}.photo-prev{left:calc(50% - 58px)}.photo-next{right:calc(50% - 58px)}}
/* Review mode is opt-in; the normal website never displays photo numbers. */
.photo-number{position:absolute;top:6px;right:6px;z-index:5;display:block!important;max-width:calc(100% - 12px);box-sizing:border-box;background:#17221bf2;color:#fff!important;padding:6px 8px;text-align:left;font:700 13px 'Red Hat Display',sans-serif!important;line-height:1.4!important;border:1px solid #ffffff90;pointer-events:none;box-shadow:0 1px 5px #0003}
.photo-number strong,.photo-number small{display:block;color:#fff!important;font:inherit!important;line-height:1.4!important}.photo-number small{font-size:11px!important;font-weight:400!important}
.photo-number .photo-copy,.photo-dialog .photo-copy,.catalog-card .photo-copy{position:static;display:inline-block;width:auto;height:auto;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit!important;font:inherit!important;line-height:inherit!important;text-align:left;text-transform:none;text-decoration:underline;text-underline-offset:3px;cursor:copy;pointer-events:auto;-webkit-user-select:text;user-select:text}
.photo-copy:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.photo-copy-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:1000;width:max-content;max-width:calc(100vw - 32px);padding:12px 18px;border:1px solid #ffffff90;background:#17221b;color:#fff;font:500 14px/1.4 'Red Hat Display',sans-serif;text-align:center;box-shadow:0 2px 12px #0003;pointer-events:none}
.photo-copy-status[hidden]{display:none}
.photo-review-host{position:relative}.photo-review-bar button{margin:0 12px;padding:3px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:#fff;font:inherit;cursor:pointer}
.photo-review-bar{padding:12px 24px;background:var(--forest);color:#fff;font:500 14px 'Red Hat Display',sans-serif;text-align:center}.photo-review-bar a{color:#fff!important;text-decoration:underline;margin:0 12px}
/* Photo index for preparing replacement files. */
.photo-guide-dialog{position:fixed;inset:0;width:calc(100% - 32px);max-width:800px;max-height:calc(100dvh - 40px);padding:0;border:1px solid #bac4b7;border-radius:5px;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain;font:400 16px/1.6 'Red Hat Display',Arial,sans-serif}
.photo-guide-dialog::backdrop{background:#17221bcc}.photo-guide-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px;background:var(--paper);border-bottom:1px solid #d8dcd2}.photo-guide-header h2{font:700 28px/1.25 'Red Hat Display',Arial,sans-serif;margin:0}.photo-guide-close{flex:none;background:var(--forest);color:white;border:1px solid var(--forest);border-radius:3px;padding:10px 16px;min-height:44px;font:700 14px/1.4 'Red Hat Display',Arial,sans-serif;cursor:pointer}.photo-guide-close:focus-visible{outline:2px solid var(--forest);outline-offset:3px}.photo-guide-content{padding:12px 28px 26px}.photo-guide-content ol{padding-left:25px}.photo-guide-content li{padding:9px 0 9px 8px}.photo-guide-content li p{margin:5px 0 0}.photo-guide-content .guide-note{padding:16px 20px;background:white;border:1px solid #d8dcd2}
@media(max-width:600px){.photo-guide-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.photo-guide-header{gap:12px;padding:16px}.photo-guide-header h2{font-size:22px}.photo-guide-close{padding:9px 12px}.photo-guide-content{padding:8px 18px 18px}}
body.photo-index{font:400 16px/1.6 'Red Hat Display',Arial,sans-serif;background:var(--paper);color:var(--ink)}
.catalog-shell{max-width:1440px;margin:auto;padding:48px 32px}.catalog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:38px}.catalog-top img{width:180px;max-width:50%;height:auto}.catalog-top a,.catalog-actions a{color:var(--forest);text-decoration:underline;text-underline-offset:4px}
.catalog-intro{max-width:850px}.catalog-intro h1{font:500 clamp(30px,4vw,48px)/1.15 'Red Hat Display',sans-serif;letter-spacing:-.03em;margin:0 0 24px}.catalog-intro p{margin:12px 0}.catalog-intro code{background:#e5e8dd;padding:2px 6px}
.catalog-actions{display:flex;gap:24px;flex-wrap:wrap;margin:24px 0}
.catalog-filters{display:flex;gap:18px;align-items:end;flex-wrap:wrap;margin:36px 0 14px}.catalog-filters label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700}.catalog-filters input,.catalog-filters select{font:400 16px 'Red Hat Display',sans-serif;background:#fff;color:var(--ink);border:1px solid #b9c2b5;border-radius:0;padding:12px;min-width:240px;height:48px}
.catalog-count{color:#5b6559;margin:12px 0 24px}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.catalog-card{margin:0;background:#fff;border:1px solid var(--line);min-width:0}.catalog-card[hidden]{display:none}.catalog-card>a{display:block}.catalog-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.catalog-card figcaption{padding:18px}.catalog-card h2{font:700 20px 'Red Hat Display',sans-serif;margin:0 0 6px}.catalog-card p{font-size:13px;margin:4px 0;color:#5b6559}.catalog-card .page-links{display:flex;gap:5px 12px;flex-wrap:wrap;margin-top:10px}.page-links a{font-size:13px;color:var(--forest);text-decoration:underline}
.catalog-card .download-photo{font-size:13px;color:var(--forest);display:inline-block;margin-top:12px;text-decoration:underline}.catalog-empty{padding:30px 0}.catalog-footer{margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}
@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.catalog-shell{padding:28px 20px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalog-card figcaption{padding:12px}.catalog-filters label,.catalog-filters input,.catalog-filters select{width:100%}.catalog-top{align-items:start}}
@media(max-width:400px){.catalog-grid{grid-template-columns:1fr}}
@media print{.catalog-top,.catalog-actions,.catalog-filters,.catalog-count,.download-photo{display:none}.catalog-shell{padding:0}.catalog-grid{grid-template-columns:repeat(3,1fr);gap:12px}.catalog-card{break-inside:avoid}.catalog-intro h1{font-size:26px}.catalog-card img{height:130px;object-fit:contain}}
