/* KORIN unified preview theme — clean production CSS */
:root{
  --k-green:#214f3c;
  --k-green-2:#4d755c;
  --k-sage:#e8efe7;
  --k-ivory:#fbfaf6;
  --k-line:#dce5dc;
  --k-text:#2e433a;
  --k-muted:#7b8982;
  --k-shadow:0 12px 34px rgba(30,71,51,.08);
}

body{
  color:var(--k-text);
  background:var(--k-ivory);
  font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
}

/* Header: keep Lightning structure; only balance logo + nav */
.site-header-container{
  display:flex;
  align-items:center;
}
.site-header-logo{
  flex:0 0 auto;
  margin-right:24px;
}
.site-header-logo img{
  display:block;
  width:220px;
  max-width:220px;
  height:auto;
}
.global-nav{
  margin-left:auto;
  flex:0 1 auto;
  min-width:0;
}
.global-nav-list{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
}
.global-nav-list>li>a{
  padding-left:12px;
  padding-right:12px;
}
.global-nav-name{
  white-space:nowrap;
}
.global-nav-description{
  font-size:10px!important;
  letter-spacing:.06em;
  color:#9aa69f!important;
}

/* Home hero */
.home .vk_slider{
  background:#f5f7f4;
}
.home .vk_slider_item_container{
  max-width:1180px;
}
.home .vk_slider_item h2{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:600;
  letter-spacing:.045em;
}
.home .vk_slider_item p{
  line-height:1.8;
}
.home .vk_slider_item .wp-block-button__link{
  border-radius:999px!important;
  padding:13px 28px!important;
  background:linear-gradient(135deg,#3e7054,#214f3c)!important;
  box-shadow:0 8px 20px rgba(33,79,60,.18);
}

/* General content */
.main-section{
  background:var(--k-ivory);
}
.entry-body h2,
.entry-body h3{
  color:#173d2f;
}
.entry-body h2{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  letter-spacing:.035em;
}
.entry-body .has-vk-color-primary-color{
  color:var(--k-green-2)!important;
}
.wp-block-separator{
  border-color:var(--k-line)!important;
  opacity:1;
}

/* Home service panel */
.home .wp-block-cover.alignfull .wp-block-group.has-white-background-color{
  border:1px solid var(--k-line);
  border-radius:22px;
  box-shadow:var(--k-shadow);
}
.home .wp-block-columns img{
  border-radius:14px;
}

/* Home company introduction: make image + text one coherent card */
.home .wp-block-media-text.alignfull{
  width:min(1180px,calc(100% - 48px));
  margin:64px auto!important;
  grid-template-columns:42% 58%!important;
  background:#fff!important;
  border:1px solid var(--k-line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--k-shadow);
}
.home .wp-block-media-text.alignfull .wp-block-media-text__media{
  height:100%;
  min-height:520px;
  overflow:hidden;
}
.home .wp-block-media-text.alignfull .wp-block-media-text__media img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  display:block;
  border-radius:0!important;
}
.home .wp-block-media-text.alignfull .wp-block-media-text__content{
  padding:0!important;
  background:#fff!important;
}
.home .wp-block-media-text.alignfull .wp-block-group.has-white-background-color{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:42px 54px!important;
  background:#fff!important;
}
.home .wp-block-media-text.alignfull .wp-block-media-text__content .wp-block-columns{
  margin:0;
}
.home .wp-block-media-text.alignfull .wp-block-media-text__content .wp-block-column:first-child{
  display:none;
}
.home .wp-block-media-text.alignfull .wp-block-media-text__content .wp-block-column:last-child{
  flex-basis:100%!important;
}

/* Service page cards */
.page-id-9 .entry-body>.wp-block-columns{
  align-items:center;
  background:#fff;
  border:1px solid var(--k-line);
  border-radius:18px;
  padding:20px;
  gap:28px!important;
  box-shadow:0 8px 26px rgba(30,71,51,.045);
}
.page-id-9 .entry-body>.wp-block-columns img{
  border-radius:13px;
}
.page-id-9 .wp-block-button.is-style-outline .wp-block-button__link{
  border:1px solid #9db6a6!important;
  border-radius:999px!important;
  color:var(--k-green)!important;
  background:#fff!important;
}

/* ANKA block */
.page-id-9 .entry-body>.wp-block-group:last-of-type{
  background:
    radial-gradient(circle at 8% 80%,rgba(94,135,99,.10),transparent 27%),
    radial-gradient(circle at 92% 16%,rgba(94,135,99,.10),transparent 25%),
    linear-gradient(135deg,#fbfcf8 0%,#eff5ee 100%)!important;
  border:1px solid #cddfce;
  border-radius:24px!important;
  padding:40px 26px!important;
  box-shadow:var(--k-shadow);
}
.page-id-9 .entry-body>.wp-block-group:last-of-type h3{
  color:#234f3c!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(26px,3vw,34px);
}
.page-id-9 .entry-body>.wp-block-group:last-of-type p{
  color:#63746c;
}
.page-id-9 .entry-body>.wp-block-group:last-of-type .wp-block-button__link{
  border-radius:999px!important;
  padding:13px 30px!important;
  background:linear-gradient(135deg,#577b61,#2d5942)!important;
  box-shadow:0 8px 20px rgba(33,79,60,.18);
}

/* Company / Property / Contact pages */
.page-id-16 .entry-body,
.page-id-19 .entry-body,
.page-id-112 .entry-body,
.page-id-2580 .entry-body,
.page-id-3194 .entry-body,
.page-id-3195 .entry-body{
  background:#fff;
  border:1px solid var(--k-line);
  border-radius:20px;
  padding:clamp(26px,4vw,50px);
  box-shadow:0 10px 30px rgba(30,71,51,.05);
}

/* Buttons */
.entry-body .wp-block-button:not(.is-style-outline) .wp-block-button__link{
  border-radius:999px!important;
  background:linear-gradient(135deg,#4b7458,#214f3c)!important;
  color:#fff!important;
}
.entry-body .wp-block-button__link:hover{
  transform:translateY(-1px);
}

/* Contact form */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select,
.wpcf7-form textarea{
  width:100%;
  border:1px solid #cbd8ce;
  border-radius:12px;
  background:#fcfdfb;
  padding:12px 14px;
}
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus{
  outline:none;
  border-color:#71927a;
  box-shadow:0 0 0 3px rgba(91,132,99,.12);
}
.wpcf7-submit{
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#4b7458,#214f3c)!important;
  color:#fff!important;
  padding:13px 30px!important;
}

/* Bottom contact CTA — bring it into the same KORIN palette */
body > .wp-block-cover.alignfull.has-white-color{
  background:linear-gradient(135deg,#315f49 0%,#214f3c 58%,#183b2e 100%)!important;
  border-top:1px solid rgba(255,255,255,.08);
}
body > .wp-block-cover.alignfull.has-white-color .wp-block-cover__image-background{
  opacity:.10!important;
  filter:grayscale(1) contrast(.85);
}
body > .wp-block-cover.alignfull.has-white-color .wp-block-cover__background{
  background:transparent!important;
  opacity:1!important;
}
body > .wp-block-cover.alignfull.has-white-color h2{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:600;
  letter-spacing:.04em;
}
body > .wp-block-cover.alignfull.has-white-color .vk_button_link{
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
  box-shadow:none!important;
  backdrop-filter:blur(4px);
  transition:background .2s ease,transform .2s ease,border-color .2s ease;
}
body > .wp-block-cover.alignfull.has-white-color .vk_button_link:hover{
  background:rgba(255,255,255,.15)!important;
  border-color:#fff!important;
  transform:translateY(-1px);
}

/* Footer — quieter, tighter and visually connected to CTA */
.site-footer{
  background:#143529!important;
  color:#dce7e0!important;
  border-top:1px solid rgba(255,255,255,.10);
}
.site-footer .footer-nav{
  background:#173a2d!important;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-footer .footer-nav a{
  color:#dce7e0!important;
}
.site-footer-content{
  max-width:1100px!important;
  padding-top:34px!important;
  padding-bottom:26px!important;
}
.site-footer .row{
  display:grid!important;
  grid-template-columns:1.05fr 1.45fr .9fr;
  gap:48px;
  align-items:center!important;
  margin:0!important;
}
.site-footer .row > [class*="col-"]{
  width:auto!important;
  max-width:none!important;
  flex:initial!important;
  padding:0!important;
}
.site-footer .widget{
  color:#dce7e0;
  margin:0!important;
}
.site-footer .widget p{
  color:#dce7e0;
  line-height:1.85;
}
.site-footer a{
  color:#f0f5f1!important;
}
.site-footer a:hover{
  color:#fff!important;
}
.site-footer #block-11{
  text-align:left;
}
.site-footer #block-11 .wp-block-image{
  display:inline-block;
  margin:0;
  padding:12px 14px;
  background:#fff;
  border-radius:12px;
}
.site-footer #block-11 img{
  width:205px!important;
  height:auto!important;
  display:block;
}
.site-footer #block-17 p{
  margin:0!important;
  font-size:13px;
  line-height:1.9;
}
.site-footer #block-17 p::after{
  content:"E-mail : info@korin-inc.co.jp";
  display:block;
  margin-top:2px;
  color:#dce7e0;
}
.site-footer #block-10{
  text-align:right;
}
.site-footer #block-10 p{
  margin:0!important;
}
.site-footer #block-10 a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 24px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  background:rgba(255,255,255,.04);
  white-space:nowrap;
}
.site-footer #block-10 a:hover{
  background:rgba(255,255,255,.12);
  border-color:#fff;
}
.site-footer-copyright{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:18px!important;
  padding-bottom:18px!important;
}
.site-footer-copyright p{
  color:#afc3b7!important;
  font-size:12px;
  margin-bottom:3px;
}
.site-footer-copyright p:last-child{
  display:none;
}

/* Responsive */
@media (max-width:1199px){
  .site-header-logo img{
    width:185px;
    max-width:185px;
  }
  .global-nav-list>li>a{
    padding-left:9px;
    padding-right:9px;
  }
}
@media (max-width:991px){
  .site-header-container{
    min-height:72px;
  }
  .site-header-logo img{
    width:145px;
    max-width:145px;
    max-height:52px;
  }
}
@media (max-width:900px){
  .site-footer .row{
    grid-template-columns:1fr!important;
    gap:24px;
    text-align:center;
  }
  .site-footer #block-11,
  .site-footer #block-10{
    text-align:center;
  }
}
@media (max-width:781px){
  .home .wp-block-media-text.alignfull{
    width:min(100% - 28px,1180px);
    grid-template-columns:1fr!important;
    margin:40px auto!important;
    border-radius:18px;
  }
  .home .wp-block-media-text.alignfull .wp-block-media-text__media,
  .home .wp-block-media-text.alignfull .wp-block-media-text__media img{
    min-height:300px;
    height:300px;
  }
  .home .wp-block-media-text.alignfull .wp-block-group.has-white-background-color{
    padding:28px 22px!important;
  }
  .page-id-9 .entry-body>.wp-block-columns{
    padding:16px;
    border-radius:15px;
  }
  .page-id-9 .entry-body>.wp-block-group:last-of-type{
    padding:30px 18px!important;
    border-radius:18px!important;
  }
  .page-id-16 .entry-body,
  .page-id-19 .entry-body,
  .page-id-112 .entry-body,
  .page-id-2580 .entry-body,
  .page-id-3194 .entry-body,
  .page-id-3195 .entry-body{
    padding:22px 17px;
    border-radius:15px;
  }
}
