/* Original visual rules live in /public/legacy/css. These additions replace plugin layout only. */
html { scroll-behavior: smooth; }
body .full-page { min-height: 100svh; }
body .refresh-carousel { display: block; }
body .refresh-carousel .owl-stage { width: 100%; }
body .refresh-carousel .owl-item { float: none; }
body .refresh-carousel .owl-item.active { animation: wellen-appear .45s ease both; }
@keyframes wellen-appear { from { opacity:.35; } to { opacity:1; } }
body main#content section.section .refresh-detail-open > .origin-size,
body main#content section.section .refresh-detail-open > .product-list { display:none; }
body main#content section.section#our-work #work-detail.open,
body main#content section.section#eshop .product-detail.open { position:relative; }
body [hidden] { display:none !important; }
body .refresh-message { padding:50px 20px; color:#111; background:white; }
body [role=button]:focus-visible, body a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
body .refresh-close { position:absolute; right:20px; top:10px; background:white; color:#111; border:0; font:48px/1 sans-serif; cursor:pointer; z-index:2; }
body #fixed-popup .scroll img { display:block; max-width:100%; height:auto; margin:0 auto 24px; }
body #fixed-popup { position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.85);padding:30px; }
body #fixed-popup .content { position:relative;height:100%;max-width:1100px;margin:auto;background:white;padding:55px 20px 20px; }
body #fixed-popup .scroll {height:100%;overflow:auto;}
body.stop-scroll {overflow:hidden;}
@media(max-width:699px) {
  html,body,#wrapper {height:100svh;}
  #wrapper {scroll-behavior:smooth;}
  body section {scroll-margin-top:0;}
  body .owl-nav button {border:0;cursor:pointer;}
  body #fixed-popup {padding:10px;}
  body .refresh-mobile-detail {padding:70px 20px 30px;background:#222;}
  body .refresh-mobile-detail img {max-width:100%;height:auto;}
  body .refresh-mobile-detail iframe {max-width:100%;height:auto;aspect-ratio:16/9;}
  body .refresh-mobile-detail p {margin:20px 0;}
  body main#content section.refresh-mobile-extra { min-height:auto; padding:82px 20px 45px; color:#111; background:#e8e8e8; }
  body main#content section.refresh-mobile-extra:nth-of-type(even) { background:#d4d4d4; }
  body main#content section.refresh-mobile-extra .container { padding:0; min-width:0; }
  body main#content section.refresh-mobile-extra aside.left-box,
  body main#content section.refresh-mobile-extra .content-box { float:none; width:auto; padding:0; }
  body main#content section.refresh-mobile-extra .section-title { color:#111; font-size:42px; line-height:1; margin:0 0 24px; }
  body main#content section.refresh-mobile-extra .section-title:after { font-size:40px; }
  body main#content section.refresh-mobile-extra img { max-width:100%; height:auto; }
  body main#content section.refresh-mobile-extra .product-list ul { list-style:none; padding:0; }
  body main#content section.refresh-mobile-extra .product-list li { margin:0 0 28px; }
  body main#content section.refresh-mobile-extra .product-list .product { display:block; color:#111; }
}
body section { scroll-margin-top:65px; }
body main#content section.section#about-us .certifications { margin-top:34px; padding-top:24px; border-top:1px solid #aaa; }
body main#content section.section#about-us .certifications h3 { margin:0 0 8px; font-size:28px; font-weight:600; line-height:1; }
body main#content section.section#about-us .certifications > p { margin-bottom:16px; }
body main#content section.section#about-us .certification-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
body main#content section.section#about-us .certification-card { min-width:0; }
body main#content section.section#about-us .certification-preview { display:block; background:#fff; border:1px solid #c8c8c8; }
body main#content section.section#about-us .certification-preview img { display:block; width:100%; height:auto; transition:opacity .2s ease; }
body main#content section.section#about-us .certification-preview:hover img { opacity:.72; }
body main#content section.section#about-us .certification-card h4 { margin:10px 0 2px; font-size:20px; font-weight:600; }
body main#content section.section#about-us .certification-card > a:not(.certification-preview) { color:#000; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:699px) { body main#content section.section#about-us .certification-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} body *,body *::before,body *::after {animation:none!important;transition:none!important;} }
