/* Yìnní LinguaBook 1.13 — bookshop/catalog design, scoped to prevent theme clashes. */
.ylb-catalog {--ylb-ink:#183f37;--ylb-green:#0f7c6b;--ylb-deep:#0e5045;--ylb-muted:#647d75;--ylb-border:#dbeae5;--ylb-soft:#f4f8f5;max-width:1280px!important;margin:25px auto!important;padding:0 18px 45px!important;font:inherit;color:var(--ylb-ink);box-sizing:border-box;}
.ylb-catalog *{box-sizing:border-box}
.ylb-catalog button,.ylb-catalog input,.ylb-catalog select{font:inherit}
.ylb-catalog a:focus-visible,.ylb-catalog button:focus-visible,.ylb-catalog select:focus-visible,.ylb-catalog input:focus-visible{outline:3px solid #f2a952;outline-offset:2px}
.ylb-catalog-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:208px;padding:37px 45px;background:radial-gradient(circle at 90% 15%,rgba(255,255,255,.7),transparent 38%),linear-gradient(115deg,#d9efe5,#f5f6ed 68%,#eff2e4);border:1px solid #d7e6d8;border-radius:24px;overflow:hidden}
.ylb-catalog-eyebrow{display:block;letter-spacing:.21em;font-size:11px;font-weight:850;color:#20856a}
.ylb-catalog-hero h2{font:750 clamp(29px,3.4vw,43px)/1.1 Georgia,'Times New Roman',serif!important;color:#194d3e!important;letter-spacing:-.03em;margin:12px 0!important;max-width:720px}
.ylb-catalog-hero p{color:#617c70!important;line-height:1.7!important;margin:0!important;font-size:14px!important;max-width:560px}
.ylb-catalog-hero-icon{font-size:93px;filter:drop-shadow(4px 9px 8px #21483c22);opacity:.82;white-space:nowrap}
.ylb-catalog-form{padding:18px;margin:-1px 0 0;background:#fff;border:1px solid var(--ylb-border);border-radius:0 0 21px 21px;box-shadow:0 7px 22px #16463b0a}
.ylb-catalog-searchrow{display:flex;align-items:stretch;gap:11px}
.ylb-catalog-searchbox{display:flex;flex:1;min-width:0;align-items:center;gap:13px;border:1px solid #c7dcd3;border-radius:12px;padding:0 17px;background:#fbfdfb}
.ylb-catalog-searchbox>span[aria-hidden]{color:#499885;font-size:28px;line-height:1}
.ylb-catalog-searchbox input[type=search]{width:100%!important;min-height:49px!important;outline:0!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:8px 0!important;color:#214d42!important;font-size:14px!important}
.ylb-catalog-searchbox input:focus{outline:none!important}
.ylb-catalog-submit,.ylb-catalog-filter-buttons button{background:var(--ylb-green)!important;border:1px solid var(--ylb-green)!important;border-radius:12px;color:#fff!important;padding:11px 21px;min-height:49px;font-weight:750;white-space:nowrap;cursor:pointer}
.ylb-catalog-submit:hover,.ylb-catalog-filter-buttons button:hover{background:var(--ylb-deep)!important;border-color:var(--ylb-deep)!important}
.ylb-catalog-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:17px 0 0;align-items:end}
.ylb-catalog-filter{display:flex;flex-direction:column;min-width:0;gap:6px}
.ylb-catalog-filter span{font-size:12px;color:#58776c;font-weight:750}
.ylb-catalog-filter select,.ylb-catalog-filter input[type=number]{appearance:auto!important;width:100%!important;min-width:0!important;min-height:42px!important;padding:8px 11px!important;background:#fff!important;border:1px solid #d5e5dc!important;border-radius:9px!important;color:#254e42!important;font-size:12px!important;line-height:1.4!important;box-shadow:none!important}
.ylb-catalog-filter-buttons{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ylb-catalog-filter-buttons button{font-size:12px!important;min-height:42px;padding:8px 16px}
.ylb-catalog-filter-buttons a{font-size:12px;color:#1e7d68!important;text-decoration:underline!important;padding:8px 0;white-space:nowrap}
.ylb-catalog-category-pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:18px 0 9px;margin-bottom:15px}
.ylb-catalog-category-pills a{flex:none;text-decoration:none!important;background:#fff;border:1px solid #d9e9e2;border-radius:999px;padding:9px 15px;font-size:12px!important;line-height:1.25;color:#486a5f!important;font-weight:750}
.ylb-catalog-category-pills a:hover,.ylb-catalog-category-pills .is-active{color:#fff!important;background:var(--ylb-green);border-color:var(--ylb-green)}
.ylb-catalog-results{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:1px solid #ddebe5;margin:19px 0 24px;padding:0 0 13px}
.ylb-catalog-results h3{margin:0!important;font-size:21px!important;line-height:1.35!important;color:var(--ylb-ink)!important;font-weight:800!important}
.ylb-catalog-results h3 span{font-size:12px;color:#618177;font-weight:600;padding-left:5px}
.ylb-catalog-results>span{font-size:12px;color:#75887e}
.ylb-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.ylb-catalog-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #e2ece6;border-radius:18px;overflow:hidden;box-shadow:0 4px 16px rgba(15,72,51,.07);transition:transform .2s ease,box-shadow .2s ease}
.ylb-catalog-card:hover{transform:translateY(-3px);box-shadow:0 13px 33px rgba(15,72,51,.13)}
.ylb-catalog-cover-link{display:flex;align-items:center;justify-content:center;min-height:255px;padding:16px 20px 13px;background:linear-gradient(135deg,#f4f8f5,#e6f1eb);overflow:hidden;text-decoration:none}
.ylb-catalog-cover-link .ylb-store-cover-image{height:244px!important;max-width:100%!important;width:auto!important;aspect-ratio:auto!important;object-fit:contain!important;box-shadow:5px 10px 19px #0b392435}
.ylb-catalog-cover-link .ylb-store-cover-placeholder{min-height:244px!important;height:244px!important;max-width:100%;width:185px}
.ylb-catalog-cover-badges{position:absolute;display:flex;flex-direction:column;align-items:flex-start;gap:6px;left:13px;top:14px;pointer-events:none}
.ylb-catalog-badge{font-size:9px;letter-spacing:.055em;font-weight:850;border-radius:30px;padding:6px 9px;box-shadow:0 2px 9px #0002;line-height:1.15}
.ylb-badge-paid{background:#194f45;color:#fff}.ylb-badge-free{background:#fff;color:#138165}.ylb-badge-special{background:#fae6a4;color:#725017}
.ylb-catalog-card-inner{padding:19px;display:flex;flex:1;flex-direction:column}
.ylb-catalog-card-lang{font-size:11px;font-weight:760;color:#207963;margin-bottom:7px}
.ylb-catalog-card h3{font:700 18px/1.34 Georgia,'Times New Roman',serif!important;color:#1d3e34!important;margin:0 0 8px!important;min-height:48px}
.ylb-catalog-card h3 a{text-decoration:none!important;color:inherit!important}
.ylb-catalog-card h3 a:hover{color:var(--ylb-green)!important}
.ylb-catalog-author{font-size:11px!important;color:#6a8077!important;margin:0 0 10px!important;line-height:1.45!important}
.ylb-catalog-term-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}
.ylb-catalog-term-tags a{border-radius:5px;padding:4px 7px;background:#edf7f1;color:#347360!important;font-size:10px!important;text-decoration:none!important;font-weight:650}
.ylb-catalog-synopsis{color:#687d72!important;font-size:12px!important;line-height:1.65!important;margin:0 0 14px!important;min-height:58px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ylb-catalog-card-footer{margin-top:auto;border-top:1px solid #e9eee9;padding-top:13px;display:flex;flex-direction:column;gap:9px}
.ylb-catalog-price{font-size:20px;line-height:1.2;color:#12816e;font-weight:900}
.ylb-catalog-outline,.ylb-catalog-wa,.ylb-detail-action{display:flex;justify-content:center;align-items:center;min-height:39px;gap:5px;text-align:center;border-radius:9px;border:1px solid #bfded0;font-size:12px!important;font-weight:800!important;padding:9px 10px;text-decoration:none!important;line-height:1.35!important}
.ylb-catalog-outline{color:#136e5c!important;background:#fff}
.ylb-catalog-outline:hover{background:#edf8f3}
.ylb-catalog-wa,.ylb-detail-action{background:#168371;border-color:#168371;color:#fff!important}
.ylb-catalog-wa:hover,.ylb-detail-action:hover{background:#0d5f53;border-color:#0d5f53;color:#fff!important}
.ylb-catalog-wa-missing{font-size:11px;color:#a46b4c;text-align:center;padding:6px}
.ylb-catalog-empty{grid-column:1/-1;padding:50px 20px;text-align:center;background:#f7faf8;border:1px dashed #cbdcd3;border-radius:16px;color:#2a5548}
.ylb-catalog-empty strong{font-size:18px}.ylb-catalog-empty p{color:#6d8176}.ylb-catalog-empty a{color:#087761;font-weight:750}
.ylb-catalog-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:28px 0 15px}
.ylb-catalog-pagination .page-numbers{display:flex;align-items:center;justify-content:center;min-width:39px;min-height:39px;padding:6px 12px;background:#fff;border:1px solid #d7e6df;border-radius:8px;color:#1e6455!important;font-size:12px;font-weight:750;text-decoration:none!important}
.ylb-catalog-pagination .page-numbers.current,.ylb-catalog-pagination .page-numbers:hover{background:var(--ylb-green);color:white!important;border-color:var(--ylb-green)}
.ylb-catalog-detail{margin:32px 0;padding:24px;border:1px solid #dceae2;border-radius:18px;background:linear-gradient(135deg,#f6faf7,#fff 60%);scroll-margin-top:35px;box-shadow:0 10px 23px #13453114}
.ylb-detail-topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #e0eee7;padding-bottom:13px;margin-bottom:24px;font-size:11px;letter-spacing:.08em;color:#177b68;font-weight:850}
.ylb-detail-topbar a{font-size:12px;color:#4b7a6a!important;letter-spacing:normal;text-decoration:none!important}
.ylb-detail-layout{display:grid;grid-template-columns:minmax(160px,30%) 1fr;gap:36px}
.ylb-detail-cover{display:flex;align-items:flex-start;justify-content:center;padding:12px 14px;border-radius:14px;background:linear-gradient(140deg,#e7f2eb,#f2f5ed)}
.ylb-detail-cover .ylb-store-cover-image{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:375px!important;object-fit:contain!important;aspect-ratio:auto!important}
.ylb-detail-cover .ylb-store-cover-placeholder{min-height:300px!important;width:235px;max-width:100%}
.ylb-detail-text{min-width:0;padding:10px 5px}
.ylb-detail-language{font-size:12px;color:#20826c;font-weight:800}
.ylb-detail-text h2{margin:9px 0!important;color:#1f483c!important;font:700 clamp(25px,3vw,36px)/1.17 Georgia,'Times New Roman',serif!important}
.ylb-detail-author{color:#58786c;font-size:13px!important;margin:10px 0!important}
.ylb-detail-description{font-size:14px!important;line-height:1.8!important;white-space:normal;color:#566f65;margin:15px 0!important}
.ylb-detail-tax{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:11px 0;font-size:12px;color:#70877d}
.ylb-detail-tax>span{font-weight:750;padding-right:3px}
.ylb-detail-tax a{padding:5px 10px;border-radius:20px;background:#e6f5ed;font-size:11px;color:#256e5b!important;text-decoration:none!important}
.ylb-detail-price{font-size:30px!important;line-height:1.3;color:#147e69!important;font-weight:900;margin:19px 0!important}
.ylb-detail-action{max-width:340px;font-size:14px!important;margin:9px 0;min-height:46px}
.ylb-detail-secondary{display:inline-block;font-size:13px;color:#137761!important;margin-top:8px}
.ylb-catalog-reader{scroll-margin-top:35px;margin:30px 0}
.ylb-catalog-related{margin:38px 0}
.ylb-catalog-related h2{font-size:24px!important;line-height:1.3!important;color:var(--ylb-ink)!important;margin-bottom:20px!important}
.ylb-catalog-mini-card .ylb-catalog-card-inner{padding:13px}
.ylb-catalog-mini-card .ylb-catalog-cover-link{min-height:190px}
.ylb-catalog-mini-card .ylb-catalog-cover-link .ylb-store-cover-image{height:180px!important}
.ylb-catalog-mini-card .ylb-catalog-cover-link .ylb-store-cover-placeholder{min-height:180px!important;height:180px!important}
.ylb-catalog-related .ylb-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.ylb-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ylb-catalog-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:770px){.ylb-catalog-hero{padding:30px 24px;min-height:150px}.ylb-catalog-hero-icon{font-size:50px}.ylb-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.ylb-catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ylb-detail-layout{grid-template-columns:minmax(150px,36%) 1fr;gap:19px}}
@media(max-width:520px){.ylb-catalog{padding:0 10px 30px!important}.ylb-catalog-hero{padding:25px 19px;border-radius:16px 16px 0 0}.ylb-catalog-hero h2{font-size:27px!important}.ylb-catalog-hero p{font-size:12px!important}.ylb-catalog-hero-icon{display:none}.ylb-catalog-form{padding:12px}.ylb-catalog-searchrow{flex-direction:column}.ylb-catalog-submit{min-height:41px}.ylb-catalog-filters{gap:9px}.ylb-catalog-filter select,.ylb-catalog-filter input[type=number]{font-size:11px!important}.ylb-catalog-filter-buttons{align-self:end}.ylb-catalog-category-pills{margin-bottom:8px}.ylb-catalog-results{margin:12px 0 16px;gap:9px}.ylb-catalog-results h3{font-size:18px!important}.ylb-catalog-results>span{font-size:10px}.ylb-catalog-grid{gap:10px}.ylb-catalog-cover-link{min-height:185px;padding:10px 10px}.ylb-catalog-cover-link .ylb-store-cover-image{height:177px!important}.ylb-catalog-cover-link .ylb-store-cover-placeholder{min-height:177px!important;height:177px!important;width:145px;padding:12px}.ylb-catalog-card-inner{padding:12px 10px}.ylb-catalog-card h3{font-size:15px!important;min-height:38px}.ylb-catalog-author{font-size:10px!important}.ylb-catalog-term-tags a{font-size:9px!important}.ylb-catalog-synopsis{font-size:11px!important;min-height:52px}.ylb-catalog-price{font-size:16px}.ylb-catalog-outline,.ylb-catalog-wa{font-size:11px!important}.ylb-catalog-badge{font-size:8px;padding:4px 7px}.ylb-catalog-detail{padding:14px;margin:20px 0}.ylb-detail-layout{grid-template-columns:1fr;gap:15px}.ylb-detail-cover .ylb-store-cover-image{max-height:250px!important}.ylb-detail-cover .ylb-store-cover-placeholder{min-height:250px!important}.ylb-detail-description{font-size:12px!important}.ylb-catalog-related .ylb-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:330px){.ylb-catalog-grid,.ylb-catalog-related .ylb-catalog-grid{grid-template-columns:1fr}.ylb-catalog-filters{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ylb-catalog-card{transition:none}}
