/*
Theme Name: IYOKUJI Official
Theme URI: https://iyokujiclub.com/
Author: IYOKUJI CLUB
Description: 伊悠纪品牌展示官网专用轻量主题。
Version: 1.3.6
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: iyokuji-official
*/

:root{--iyk-bg:#fbf7ff;--iyk-lavender:#eed9ff;--iyk-lavender-2:#dfbdff;--iyk-purple:#6f2ca0;--iyk-deep:#2a143b;--iyk-ink:#25192d;--iyk-muted:#716577;--iyk-white:#fff;--iyk-gold:#f2c66d;--iyk-shadow:0 22px 60px rgba(84,32,128,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--iyk-ink);background:var(--iyk-bg);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;line-height:1.75}img{display:block;max-width:100%;height:auto}a{color:inherit}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.iyk-wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(84,32,128,.08);backdrop-filter:blur(14px)}.header-inner{min-height:76px;display:flex;align-items:center;gap:30px}.site-branding{display:flex;align-items:center;gap:10px;margin-right:auto;text-decoration:none}.custom-logo{width:50px;max-height:50px;object-fit:contain;border-radius:14px}.brand-text{display:grid;line-height:1.15}.brand-text strong{color:var(--iyk-purple);font-size:19px;letter-spacing:.14em}.brand-text small{margin-top:4px;color:var(--iyk-muted);font-size:9px;letter-spacing:.16em}.primary-menu{display:flex;align-items:center;gap:26px;margin:0;padding:0;list-style:none}.primary-menu a{text-decoration:none;font-size:14px}.primary-menu a:hover,.primary-menu .current-menu-item>a{color:var(--iyk-purple)}.header-news{padding:9px 18px;color:#fff;background:var(--iyk-purple);border-radius:999px;text-decoration:none;font-size:13px;font-weight:700}
.mobile-menu-toggle{display:none;width:42px;height:42px;padding:10px;border:0;border-radius:12px;background:var(--iyk-lavender);cursor:pointer}.mobile-menu-toggle span{display:block;width:22px;height:2px;margin:5px 0;background:var(--iyk-deep);transition:transform .2s,opacity .2s}
.hero-slider{position:relative;height:calc(100vh - 76px);min-height:650px;overflow:hidden;background:var(--iyk-lavender)}.hero-track,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;visibility:hidden;background-position:center;background-size:cover;transition:opacity .8s ease,visibility .8s}.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(238,217,255,.96),rgba(238,217,255,.55) 42%,rgba(42,20,59,.06) 72%)}.hero-slide-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero-slide-content h1{width:min(680px,58%);margin:0;font-size:clamp(48px,5.8vw,88px);line-height:1.05;letter-spacing:-.04em}.hero-lead{width:min(620px,55%);margin:24px 0;color:#57495e;font-size:clamp(17px,1.55vw,21px)}.slider-arrow{position:absolute;z-index:4;top:50%;width:48px;height:48px;border:1px solid rgba(255,255,255,.7);border-radius:50%;color:#fff;background:rgba(42,20,59,.26);font-size:34px;cursor:pointer;transform:translateY(-50%)}.slider-arrow.prev{left:24px}.slider-arrow.next{right:24px}.slider-dots{position:absolute;z-index:4;left:50%;bottom:24px;display:flex;gap:10px;transform:translateX(-50%)}.slider-dot{width:42px;height:4px;padding:0;border:0;background:rgba(255,255,255,.55);cursor:pointer}.slider-dot.is-active{background:#fff}.button-row{display:flex;flex-wrap:wrap;gap:12px}.iyk-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;font-weight:700;text-decoration:none}.iyk-button.primary{color:#fff;background:var(--iyk-purple);box-shadow:0 12px 28px rgba(84,32,128,.2)}.iyk-button.secondary{color:var(--iyk-purple);background:rgba(255,255,255,.76);border:1px solid rgba(84,32,128,.18)}
.brand-strip{padding:14px 20px;color:#fff;background:var(--iyk-deep);text-align:center;letter-spacing:.12em}.brand-strip span{margin-inline:24px;color:var(--iyk-gold)}.section{padding:100px 0}.section.white{background:#fff}.section-head{max-width:760px;margin:0 auto 42px;text-align:center}.section-head h2,.page-hero h1{margin:0;color:var(--iyk-deep);font-size:clamp(34px,4vw,56px);line-height:1.2}.section-head p{color:var(--iyk-muted)}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:80px}.about-copy{font-size:17px}.about-copy p:first-child{font-size:21px;font-weight:700}.about-logo{padding:28px;background:var(--iyk-lavender);border-radius:36px;box-shadow:var(--iyk-shadow)}.about-logo img{width:100%;border-radius:24px}.text-link{display:inline-block;margin-top:14px;color:var(--iyk-purple);font-weight:800;text-decoration:none}
.series-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.series-card{min-height:330px;display:flex;flex-direction:column;justify-content:end;overflow:hidden;padding:36px;border-radius:32px;text-decoration:none;background:linear-gradient(140deg,var(--iyk-lavender),#dce4ff);box-shadow:var(--iyk-shadow)}.series-card:nth-child(even){color:#fff;background:linear-gradient(140deg,#24172e,#53306c)}.series-card h3{margin:8px 0 4px;font-size:32px}.series-label{align-self:flex-start;padding:6px 10px;color:var(--iyk-deep);background:var(--iyk-gold);border-radius:9px;font-size:11px;font-weight:900;letter-spacing:.12em}
.product-grid,.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.product-card,.post-card{overflow:hidden;background:#fff;border:1px solid #eee7f2;border-radius:26px;box-shadow:0 14px 38px rgba(84,32,128,.08);transition:transform .25s,box-shadow .25s}.product-card:hover,.post-card:hover{transform:translateY(-5px);box-shadow:var(--iyk-shadow)}.product-card a,.post-card a{text-decoration:none}.card-media{aspect-ratio:1/1.08;background:var(--iyk-lavender);overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.product-card:hover .card-media img{transform:scale(1.03)}.card-placeholder{height:100%;display:grid;place-items:center;color:var(--iyk-purple);font-weight:700}.card-body{padding:22px}.card-body h2,.card-body h3{margin:0 0 8px;font-size:21px;line-height:1.4}.card-body p{margin:0;color:var(--iyk-muted);font-size:14px}.card-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.chip{padding:4px 9px;color:var(--iyk-purple);background:var(--iyk-lavender);border-radius:999px;font-size:11px}
.channels-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.channel-card{min-height:210px;display:grid;padding:26px;background:linear-gradient(145deg,#fff,#fff4f5);border:1px solid #eee7f2;border-radius:24px;text-decoration:none}.channel-card:hover{transform:translateY(-3px);box-shadow:var(--iyk-shadow)}.channel-card span{align-self:start;justify-self:start;padding:6px 10px;color:#fff;background:var(--iyk-purple);border-radius:9px;font-size:12px}.channel-card strong{align-self:end;font-size:18px}.channel-card small{color:var(--iyk-purple)}
.page-hero{padding:76px 0;background:var(--iyk-lavender)}.content-area{padding:70px 0 100px}.entry-content{max-width:820px;margin:auto;font-size:17px}.entry-content h2{margin-top:2em;color:var(--iyk-deep)}.empty-state{padding:55px 24px;background:#fff;border:1px dashed var(--iyk-lavender-2);border-radius:24px;text-align:center}.single-product{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:54px;align-items:start}.product-gallery{display:grid;grid-template-columns:82px minmax(0,1fr);gap:14px}.product-thumbs{display:flex;flex-direction:column;gap:10px}.product-thumb{width:82px;height:82px;padding:4px;overflow:hidden;border:2px solid transparent;border-radius:12px;background:var(--iyk-lavender);cursor:pointer}.product-thumb.is-active{border-color:var(--iyk-purple)}.product-thumb img{width:100%;height:100%;object-fit:contain}.product-cover{display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:360px;background:var(--iyk-lavender);border-radius:24px}.product-cover img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain}.product-info{position:sticky;top:110px}.product-info h1{margin-top:0;font-size:44px;line-height:1.2}.product-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:26px 0}.spec{padding:14px 16px;background:#fff;border:1px solid #eee7f2;border-radius:14px}.spec small{display:block;color:var(--iyk-muted)}
.site-footer{padding:42px 0;color:rgba(255,255,255,.72);background:var(--iyk-deep);font-size:12px}.footer-inner{display:flex;align-items:center;gap:26px}.footer-brand{margin-right:auto;color:#fff;font-size:18px;font-weight:800;letter-spacing:.14em}
@media(max-width:900px){.header-inner{position:relative}.mobile-menu-toggle{display:block;order:2}.mobile-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu-toggle.is-open span:nth-child(2){opacity:0}.mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.primary-navigation{position:absolute;top:100%;left:0;right:0;display:none;padding:12px 20px 20px;background:#fff;border-top:1px solid #eee7f2;box-shadow:0 18px 30px rgba(42,20,59,.12)}.primary-navigation.is-open{display:block}.primary-menu{display:grid;gap:0}.primary-menu a{display:block;padding:12px 4px;border-bottom:1px solid #f1eaf5;font-size:15px}.header-news{order:3}.hero-slide-content h1,.hero-lead{width:72%}.about-grid,.single-product{grid-template-columns:1fr}.product-info{position:static}.channels-grid{grid-template-columns:repeat(2,1fr)}.product-grid,.post-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.iyk-wrap{width:min(100% - 28px,1180px)}.header-inner{min-height:66px;gap:12px}.site-branding{min-width:0}.custom-logo{width:42px;max-height:42px}.brand-text strong{font-size:17px}.header-news{display:none}.hero-slider{height:calc(100svh - 66px);min-height:620px}.hero-slide{background-position:center}.hero-shade{background:linear-gradient(0deg,rgba(238,217,255,.96),rgba(238,217,255,.18) 75%)}.hero-slide-content{justify-content:flex-end;padding-bottom:90px}.hero-slide-content h1,.hero-lead{width:100%}.hero-slide-content h1{font-size:43px}.slider-arrow{display:none}.brand-strip{font-size:12px;white-space:nowrap;overflow:hidden}.section{padding:72px 0}.series-grid,.product-grid,.post-grid,.channels-grid{grid-template-columns:1fr}.series-card{min-height:250px}.product-gallery{grid-template-columns:1fr}.product-thumbs{order:2;flex-direction:row;overflow-x:auto}.product-thumb{flex:0 0 68px;width:68px;height:68px}.product-specs{grid-template-columns:1fr}.footer-inner{align-items:flex-start;flex-direction:column;gap:8px}}

/* Image-only responsive carousel: desktop and mobile posters are selected in the slide editor. */
.hero-slide{background:none}.hero-slide picture{display:block;width:100%;height:100%}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade,.hero-slide-content{display:none}
@media(max-width:620px){.hero-slider{height:calc(100svh - 66px);min-height:620px}.hero-slide img{object-position:center}.slider-dots{bottom:16px}}

/* Product imagery is standardized for 1440 x 1440 source files. */
.card-media{aspect-ratio:1/1}.card-media img{object-fit:contain}.product-cover{min-height:0;aspect-ratio:1/1}.product-cover img{width:100%;height:100%;max-height:none;object-fit:contain}

/* Persistent translucent navigation on desktop and mobile. */
body{padding-top:76px}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .25s,box-shadow .25s}.site-header.is-scrolled{background:rgba(255,255,255,.78);box-shadow:0 10px 35px rgba(42,20,59,.1)}.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:620px){body{padding-top:66px}}

/* Thumbnails fill their frames; the main preview continues to show the complete image. */
.product-thumb{padding:0;background:#fff;border-width:2px}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-thumb.is-active{border-color:var(--iyk-purple);box-shadow:0 4px 14px rgba(84,32,128,.16)}
.page-intro{max-width:720px;margin:16px 0 0;color:var(--iyk-muted);font-size:17px}.series-index .series-card{min-height:380px}.series-index .series-card h2{margin:8px 0 4px;font-size:34px}.series-index .series-card small{margin-top:24px;font-weight:700}.series-back{margin:0 0 30px}

/* Customizer-controlled typography. */
body{font-family:var(--iyk-font-family,"Noto Sans SC Variable","PingFang SC","Microsoft YaHei",sans-serif);font-size:var(--iyk-body-size,16px)}.primary-menu a{font-size:var(--iyk-nav-size,14px)}.page-hero h1{font-size:clamp(34px,4vw,var(--iyk-page-title-size,56px))}.section-head h2{font-size:clamp(32px,4vw,var(--iyk-section-title-size,52px))}.product-info h1{font-size:clamp(32px,4vw,var(--iyk-product-title-size,44px))}.entry-content,.about-copy{font-size:var(--iyk-body-size,16px)}

/* Make editor-created content inherit the selected site font consistently. */
button,input,select,textarea{font-family:inherit}
.entry-content,.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6,.entry-content p,.entry-content li,.entry-content a,.entry-content strong,.entry-content em,.entry-content span{font-family:var(--iyk-font-family,"Noto Sans SC Variable","PingFang SC","Microsoft YaHei",sans-serif)!important}
.entry-content p,.entry-content li{font-size:var(--iyk-body-size,16px);line-height:1.9}
.entry-content h2{font-size:clamp(26px,3vw,36px);line-height:1.35;font-weight:700}
.entry-content h3{font-size:clamp(22px,2.5vw,30px);line-height:1.4;font-weight:700}

/* Align every official-channel card to the same visual rows. */
.channels-grid{align-items:stretch}
.channel-card{grid-template-rows:34px minmax(64px,1fr) 24px;row-gap:22px;height:100%;align-content:stretch}
.channel-card span{align-self:start;line-height:1.4}
.channel-card strong{align-self:start;margin:0;line-height:1.5}
.channel-card small{align-self:end;line-height:1.5}
@media(max-width:620px){.channel-card{min-height:190px;grid-template-rows:34px minmax(54px,1fr) 24px}}

/* Gutenberg may attach its own font class to blocks. Keep all page content on the global typeface. */
body .content-area,body .content-area h1,body .content-area h2,body .content-area h3,body .content-area h4,body .content-area h5,body .content-area h6,body .content-area p,body .content-area li,body .content-area a,body .content-area span,body .content-area strong,body .content-area em,body .content-area code{font-family:var(--iyk-font-family,"Noto Sans SC Variable","PingFang SC","Microsoft YaHei",sans-serif)!important}
.entry-content code{padding:0;color:inherit;background:none;border:0;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;white-space:normal}

/* Keep channel call-to-action labels on one exact visual baseline. */
.channel-card small{display:flex;align-items:center;align-self:end;justify-self:start;height:24px;margin:0;line-height:24px;white-space:nowrap}
