/*
Theme Name: Fine Studio
Description: Pixel-faithful editable WordPress recreation of the 2009 Photo Fine Studio design.
Version: 2.1.0
Text Domain: fine-studio
*/

* { box-sizing: border-box; }
html { margin: 0; padding: 0; }
body {
  margin: 0;
  padding: 0 0 28px;
  color: #2e1b00;
  background: #e6c494 url("assets/bg_all.jpg") repeat;
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 12px;
}
a { color: #8f0100; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { margin: 0; color: #8f0100; font: normal 20px Verdana, Arial, sans-serif; }
h2 { color: #6e4000; font: bold 15px Verdana, Arial, sans-serif; }
h3 { color: #6e4000; font: bold 13px Verdana, Arial, sans-serif; }
p { font-family: Verdana, Arial, sans-serif; }

.fine-site-header,
.fine-main-frame,
.fine-site-footer {
  width: 1000px;
  max-width: calc(100vw - 20px);
  margin-left: auto;
  margin-right: auto;
}
.fine-site-header { position: relative; z-index: 1; }
.fine-curtain {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 340px;
  transform: translateX(-50%);
  pointer-events: none;
}
.fine-curtain::before,
.fine-curtain::after {
  content: "";
  position: absolute;
  top: 0;
  width: max(0px, calc((100vw - 1000px) / 2));
  height: 340px;
}
.fine-curtain::before { left: 0; background: url("assets/bg_up_left.png") right top repeat-x; }
.fine-curtain::after { right: 0; background: url("assets/bg_up_right.png") left top repeat-x; }
.fine-panorama {
  width: 100%;
  height: 267px;
  overflow: hidden;
  background-color: #2b1008;
  background-image: url("assets/header-panorama.png");
  background-repeat: repeat-x;
  background-position: 0 center;
  background-size: auto 267px;
  animation: fine-panorama 14s ease-in-out infinite alternate;
  will-change: background-position;
}
@keyframes fine-panorama {
  from { background-position: 0 center; }
  to { background-position: -1011px center; }
}
.fine-image-menu {
  width: 100%;
  height: 57px;
  min-height: 57px;
  margin: 0 !important;
  padding: 0 0 0 97px !important;
  overflow: hidden;
  background: url("assets/menu.jpg") center top / 1000px 57px no-repeat;
}
.fine-image-menu .wp-block-navigation__container {
  display: grid !important;
  grid-template-columns: 98px 96px 129px 85px 123px 162px 115px;
  gap: 0 !important;
  align-items: stretch;
  height: 57px;
}
.fine-image-menu .wp-block-navigation-item {
  width: 100%;
  height: 57px;
  margin: 0 !important;
}
.fine-image-menu .wp-block-navigation-item__content {
  display: block;
  width: 100%;
  height: 57px;
  padding: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  text-shadow: none !important;
}
.fine-image-menu .wp-block-navigation__responsive-container-open { display: none; }

.fine-main-frame {
  position: relative;
  min-height: 420px;
  padding: 18px 42px 30px;
  background:
    url("assets/up_main_table_shad.png") center top / 793px 11px no-repeat,
    url("assets/p1_bg.png") left bottom / 398px 332px no-repeat,
    url("assets/bg_all.jpg") repeat;
  box-shadow: -14px 0 14px -14px rgba(48, 20, 0, .85), 14px 0 14px -14px rgba(48, 20, 0, .85);
}
.fine-main-frame::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -16px;
  height: 16px;
  background: url("assets/bottom_shad.png") repeat-x;
  opacity: .72;
}
.fine-page-title { margin: 12px 0 24px !important; text-align: center; }
.fine-entry-content { min-width: 0; overflow-wrap: anywhere; }
.fine-entry-content img { max-width: 100%; height: auto; }
.fine-entry-content table { max-width: 100%; border-collapse: collapse; }
.fine-entry-content iframe { max-width: 100%; }
.fine-front-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 620px) 280px;
  gap: 20px;
  align-items: start;
}
.fine-sidebar {
  width: 280px;
  padding-left: 8px;
  color: #6e4000;
}
.fine-sidebar h2 { margin: 18px 0 10px; color: #8f0100; font-size: 15px; }
.fine-sidebar .wp-block-search__inside-wrapper { border: 1px solid #7b5a37; background: #fff; }
.fine-sidebar .wp-block-search__input { min-width: 0; height: 27px; padding: 4px 6px; font: 12px Verdana; }
.fine-sidebar .wp-block-search__button { margin: 0; padding: 3px 9px; color: #3a2a18; background: #eee; border-left: 1px solid #999; font: 12px Arial; }
.fine-sidebar-links { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.fine-sidebar-links a {
  display: block;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
.fine-sidebar-links img { display: block; width: 100%; height: auto; border: 0; }
.fine-social-box { margin-top: 14px; padding: 12px; background: rgba(255,255,255,.34); border: 1px solid #c7a978; }
.fine-twitter-box { margin-top: 10px; min-height: 72px; padding: 12px; background: rgba(255,255,255,.42); border: 1px solid #d1b98f; }
.fine-twitter-box a { font-weight: bold; }
.fine-youtube-link { display: block; margin: 66px 0 18px; }
.fine-youtube-link img { display: block; width: 100%; height: auto; }
.fine-video { width: 100%; aspect-ratio: 16 / 9; margin: 0 0 22px; border: 0; }

.fine-site-footer {
  min-height: 55px;
  margin-top: 16px;
  padding: 8px 20px 6px 130px;
  color: #fbd99e;
  background: url("assets/footer_bg.png") center bottom / 960px 55px no-repeat;
  font: 10px Verdana, Arial, sans-serif;
}
.fine-site-footer a { color: #fbd99e; }
.fine-footer-inner { display: grid; grid-template-columns: 1fr 70px; align-items: center; gap: 18px; min-height: 42px; }
.fine-footer-copy { text-align: left; line-height: 1.35; }
.fine-footer-logo { width: 70px; height: 55px; margin-top: -8px; }
.fine-banner-zone {
  width: 1000px;
  max-width: calc(100vw - 20px);
  margin: 14px auto 0;
  padding-top: 2px;
}
.fine-banner-wide,
.fine-banner-small {
  display: grid;
  justify-content: center;
  gap: 8px;
}
.fine-banner-wide { grid-template-columns: repeat(2, 480px); }
.fine-banner-small { grid-template-columns: repeat(4, 234px); margin-top: 10px; }
.fine-banner-zone a,
.fine-banner-zone img { display: block; }
.fine-banner-zone img { width: 100%; height: auto; border: 0; }

@media (max-width: 1020px) {
  .fine-curtain { display: none; }
  .fine-panorama { height: clamp(120px, 26.7vw, 267px); background-size: auto clamp(120px, 26.7vw, 267px); }
  .fine-image-menu { background-size: 100% 57px; padding-left: 9.7% !important; }
  .fine-image-menu .wp-block-navigation__container { grid-template-columns: 10.85% 10.62% 14.25% 9.4% 13.59% 17.9% 12.7%; width: 100%; }
}
@media (max-width: 760px) {
  body { font-size: 13px; }
  .fine-image-menu { height: auto; min-height: 50px; padding: 0 !important; background: linear-gradient(#6a3506, #2d1504); overflow: visible; }
  .fine-image-menu .wp-block-navigation__container { display: none !important; }
  .fine-image-menu .wp-block-navigation__responsive-container-open { display: flex; margin: 8px 14px 8px auto; color: #fbd99e; }
  .fine-image-menu .wp-block-navigation__responsive-container.is-menu-open { color: #fbd99e; background: #3a1708; }
  .fine-image-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { display: flex !important; width: auto; height: auto; }
  .fine-image-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { width: auto; height: auto; padding: 10px !important; color: #fbd99e !important; font-size: 18px !important; }
  .fine-main-frame { padding: 22px 18px 30px; }
  .fine-front-grid { grid-template-columns: 1fr; }
  .fine-entry-content img[align] {
    float: none !important;
    display: block;
    margin: 12px auto !important;
  }
  .fine-entry-content table { width: 100% !important; }
  .fine-sidebar { width: 100%; padding: 0; }
  .fine-youtube-link { margin-top: 26px; }
  .fine-banner-wide,
  .fine-banner-small { grid-template-columns: 1fr; }
  .fine-banner-wide a,
  .fine-banner-small a { max-width: 480px; margin: 0 auto; width: 100%; }
  .fine-site-footer { padding-left: 24px; padding-right: 24px; }
  .fine-footer-inner { grid-template-columns: 1fr; }
  .fine-footer-logo { display: none; }
}
