/*
Theme Name: Yuki Nakajo Flexible
Theme URI: https://yukinakajo.jp/
Author: YNDO
Description: Editable responsive portfolio with Customizer controls.
Version: 2.2.0
Requires at least: 6.0
Text Domain: yuki-nakajo-flex
*/
*{box-sizing:border-box}
html,body{margin:0;background:#fff}
body{color:#1a1a1a;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.03em;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{opacity:.65}
.site-header{position:fixed;top:var(--yn-header-top,15px);left:0;right:0;z-index:1000;display:flex;justify-content:center;align-items:center;background:transparent;padding:0 8px}
.site-nav{display:flex;align-items:center;justify-content:center;gap:var(--yn-nav-gap,40px);white-space:nowrap;line-height:1.2;text-transform:uppercase}
.site-nav a{font-size:var(--yn-header-size,11px);font-weight:var(--yn-header-weight,500);color:var(--yn-ink,#1a1a1a)}
.site-nav a[aria-current="page"]{opacity:.7}
.site-main,.home-page{min-height:100svh}
.home-contact,.yn-copyright{position:fixed;bottom:var(--yn-footer-bottom,15px);left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 20px);z-index:100;text-align:center;font-size:var(--yn-footer-size,11px);font-weight:var(--yn-footer-weight,400);color:var(--yn-ink,#1a1a1a);line-height:1.6;text-transform:uppercase}
.content-page{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:90px 24px 70px}
.content-inner{width:100%;max-width:800px}.content-inner>:first-child{margin-top:0}.content-inner>:last-child{margin-bottom:0}
.content-inner p{line-height:1.7}.content-inner a{text-decoration:underline;text-underline-offset:2px}
.about-content{max-width:800px}
.works-index{width:100%;max-width:800px;text-align:var(--yn-works-align,left)}
.works-list{list-style:none;margin:0;padding:0}.works-list li{margin:0 0 var(--yn-works-row-gap,15px)}.works-list li:last-child{margin-bottom:0}
.work-category-group+.work-category-group{margin-top:var(--yn-works-group-gap,32px)}
.work-category-title{font-size:inherit;font-weight:500;letter-spacing:.03em;text-transform:uppercase;margin:0 0 15px}
.work-detail{padding-top:110px;padding-bottom:80px;align-items:flex-start}.work-detail .content-inner{max-width:1000px}
.work-detail h1{font-size:inherit;font-weight:500;text-transform:uppercase;margin:0 0 24px}
.work-detail .featured-image{display:block;width:100%;height:auto;margin:0 0 25px}
.work-detail .wp-block-image img,.content-inner img{max-width:100%;height:auto}
.page-title{font-size:inherit;font-weight:500;margin:0 0 24px;text-transform:uppercase}
.site-footer{display:none}
@media(max-width:768px){.content-page{padding:75px 20px 55px}}

/* v1.0.5: Work image carousel */
.yn-slider{width:100%;margin:0 0 25px;outline-offset:4px}
.yn-slider-viewport{overflow:hidden;width:100%;touch-action:pan-y}
.yn-slider-track{display:flex;transition:transform .32s ease;will-change:transform}
.yn-slider-slide{flex:0 0 100%;width:100%;display:flex;align-items:center;justify-content:center}
.yn-slider-image{display:block;width:100%;height:auto;max-height:72svh;object-fit:contain}
.yn-slider-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:12px;font-size:11px;font-weight:400}
.yn-slider-controls button{appearance:none;border:0;background:none;color:#1a1a1a;font:inherit;font-size:16px;cursor:pointer;padding:8px 12px}
.yn-slider-controls button:hover{opacity:.6}
@media(prefers-reduced-motion:reduce){.yn-slider-track{transition:none}}

/* v1.0.7: independent galleries embedded at any point in the Work body */
.yn-inline-slider-wrap{position:relative;width:100%;margin:20px 0 25px}
.yn-inline-slider-wrap .wp-block-gallery.is-style-yn-slider{display:flex !important;flex-wrap:nowrap !important;gap:0 !important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-y pan-x;margin:0 !important}
.yn-inline-slider-wrap .wp-block-gallery.is-style-yn-slider::-webkit-scrollbar{display:none}
.yn-inline-slider-wrap .wp-block-gallery.is-style-yn-slider > .wp-block-image{flex:0 0 100% !important;width:100% !important;max-width:100% !important;scroll-snap-align:start;margin:0 !important;display:flex;flex-direction:column;justify-content:center}
.yn-inline-slider-wrap .wp-block-gallery.is-style-yn-slider > .wp-block-image img{width:100% !important;max-height:72svh;object-fit:contain;height:auto !important;display:block}
.yn-inline-slider-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:10px;font-size:11px;font-weight:400}
.yn-inline-slider-controls button{border:0;background:transparent;color:#1a1a1a;font:inherit;font-size:16px;cursor:pointer;padding:8px 12px}
.yn-inline-slider-controls button:disabled{opacity:.3;cursor:default}
@media(prefers-reduced-motion:reduce){.yn-inline-slider-wrap .wp-block-gallery.is-style-yn-slider{scroll-behavior:auto}}

/* Editable typography and content geometry */
body{letter-spacing:var(--yn-content-letter-spacing,.03em);font-size:var(--yn-content-body-size,11px);font-weight:var(--yn-content-body-weight,400)}
.content-page{padding-left:var(--yn-content-content-side,24px);padding-right:var(--yn-content-content-side,24px)}
.content-inner,.about-content,.works-index{max-width:var(--yn-content-content-width,800px)}
.work-detail .content-inner{max-width:var(--yn-content-work-width,1000px)}
.content-inner p{line-height:var(--yn-content-body-line-height,170%)}
.page-title,.work-detail h1,.work-category-title{font-size:var(--yn-content-title-size,11px);font-weight:var(--yn-content-title-weight,500)}
.work-detail{padding-top:var(--yn-content-content-top,110px)}
.home-contact,.yn-copyright{letter-spacing:var(--yn-footer-letter,.03em)}
@media(max-width:768px){.content-page{padding-left:var(--yn-content-content-side,24px);padding-right:var(--yn-content-content-side,24px)}}

/* v2.2: independent text weights and no phantom page scrolling */
html{min-height:100%;overflow-x:clip}
body{min-height:100%;overflow-x:clip}
.site-main{min-height:0}
.home-page{min-height:100svh}
.content-page{min-height:100svh}
/* Fixed footer should not increase document height; short pages remain one viewport. */
body.page .content-page,body.post-type-archive-yn_work .content-page{min-height:100svh}
body.page .content-page:not(.work-detail),body.post-type-archive-yn_work .content-page{padding-top:clamp(55px,8vh,90px);padding-bottom:clamp(45px,7vh,70px)}
/* Independent controls */
body.page .about-content,body.page .about-content p,body.page .about-content li,body.page .about-content span,body.page .about-content strong{font-size:var(--yn-type-about-size,11px);font-weight:var(--yn-type-about-weight,400)}
.work-category-title{font-size:var(--yn-type-works-category-size,11px);font-weight:var(--yn-type-works-category-weight,500)}
.works-list,.works-list li,.works-list a{font-size:var(--yn-type-works-item-size,11px);font-weight:var(--yn-type-works-item-weight,400)}
.work-detail .content-inner,.work-detail .content-inner p,.work-detail .content-inner li,.work-detail .content-inner span,.work-detail .content-inner strong{font-size:var(--yn-type-work-detail-size,11px);font-weight:var(--yn-type-work-detail-weight,400)}
.work-detail h1,.work-detail .page-title{font-size:var(--yn-type-work-detail-title-size,11px);font-weight:var(--yn-type-work-detail-title-weight,500)}
/* Copyright is always 400; home CONTACT uses device footer weight, default 500. */
.yn-copyright{font-weight:400}
.home-contact{font-weight:var(--yn-footer-weight,500)}
/* Allow actual long pages to scroll; suppress accidental tiny overflow on short pages. */
