/* Fabric-book imagery: original catalogue swatches, with a restrained editorial layout. */
.swatch-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 24px;background:#f0eee9;padding:38px 36px;align-content:center;min-height:340px}
.swatch-board figure{margin:0;min-width:0;text-align:center}
.swatch-board img{width:100%;height:112px;object-fit:contain;margin:auto;filter:drop-shadow(0 3px 2px #182c4e12)}
.swatch-board figcaption{font-size:10px;letter-spacing:.08em;color:#68717a;margin-top:10px;font-weight:600}
.compact-board{min-height:230px;padding:25px;gap:18px}
.compact-board img{height:72px}
.compact-board figcaption{font-size:9px;margin-top:8px}
.book-fabric-card{border:1px solid #e1e4e7;background:white;overflow:hidden;border-radius:6px}
.book-fabric-card .fabric-card-info{align-items:flex-start;padding:24px}
.book-fabric-card .fabric-card-info h3{font-size:25px;font-weight:600;margin:6px 0 10px}
.book-fabric-card .fabric-card-info p:not(.book-kicker){font-size:14px;line-height:1.7;color:#617086;max-width:260px}
.book-kicker{font-size:10px!important;letter-spacing:.09em;text-transform:uppercase;font-weight:600;color:#576f97!important;line-height:1.5}
.book-fabric-card .round-arrow{flex-shrink:0;margin-top:10px}
.book-home-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:28px}
.book-home-bottom>p{font-size:12px;line-height:1.75;color:#6b7585;max-width:540px}
.book-download{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:14px!important;font-weight:600;line-height:1.6}
.book-download small{display:block;flex-basis:100%;font-size:10px;letter-spacing:.04em;font-weight:400;color:#728199;margin-top:-3px}
.book-directory-intro{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px;padding-bottom:65px;padding-top:25px}
.book-directory-intro h1{font-size:clamp(38px,4.5vw,60px);max-width:650px}
.book-directory-intro .page-intro{font-size:17px;max-width:530px;line-height:1.8}
.book-directory-intro .book-download{margin-top:28px}
.book-editorial{min-height:340px;background:#f1efea;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:center;padding:36px 26px 20px}
.book-editorial figure{margin:0;min-width:0;background:#fff;padding:8px 8px 14px;box-shadow:0 6px 15px #182c4e0b}
.book-editorial figure:nth-child(2){transform:translateY(-24px)}
.book-editorial figure:nth-child(3){transform:translateY(16px)}
.book-editorial img{width:100%;height:170px;object-fit:cover}
.book-editorial figcaption{font-size:9px;letter-spacing:.06em;margin-top:12px;color:#637089;text-align:center}
.book-editorial>span{grid-column:1/-1;text-align:center;font-size:12px;color:#6a7280;letter-spacing:.03em;margin-top:25px}
.book-search-section{display:flex;justify-content:space-between;align-items:center;gap:45px;padding-block:32px;border-top:1px solid var(--line)}
.book-search-section h2{font-size:32px}
.book-search-section>div>p{font-size:14px;color:var(--muted);margin-top:12px}
.book-search-section .fabric-search{margin:0;min-width:330px;max-width:460px;flex:1}
.book-search-section label{font-size:12px;font-weight:600}
.book-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.book-directory-card{display:block;padding:0;overflow:hidden;border:1px solid #e0e5ec;border-radius:6px;background:white}
.book-directory-card:hover{background:white;border-color:#a0b1ca;box-shadow:0 8px 24px #182c4e09}
.book-directory-card .compact-board{min-height:220px;padding:24px;gap:16px}
.book-card-copy{padding:23px}
.book-directory-card h2{font-size:25px;font-weight:600;margin-top:6px}
.book-directory-card .book-card-copy>p:not(.book-kicker){font-size:13px;line-height:1.8;margin-top:13px;min-height:94px}
.book-directory-card .book-kicker{margin:0}
.book-card-bottom{display:flex;gap:10px;justify-content:space-between;align-items:center;border-top:1px solid #e6e9ee;margin-top:20px;padding-top:15px;font-size:11px;color:#546d95;font-weight:500}
.book-card-bottom>span:last-child{font-size:23px}
.book-dyeing{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;background:#f1f5fa;padding:48px;margin-block:65px 0;border:1px solid #e1e7f0;border-radius:6px}
.book-dyeing h2{font-size:36px;max-width:450px}
.book-dyeing>div>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#6b7585;margin-top:20px}
.book-dyeing .text-link{margin-top:22px}
.book-minimums{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-content:center}
.book-minimums strong{font-size:29px;display:block;font-weight:600;letter-spacing:-.03em}
.book-minimums span{font-size:12px;line-height:1.7;display:block;margin-top:8px;color:#60718a}
.book-minimums p{grid-column:1/-1;font-size:11px!important;border-top:1px solid #d9e1ed;padding-top:15px;margin:0!important}
.book-material-feature{background:#f0eee9}
.book-material-feature>p{font-size:11px;line-height:1.75;color:#5c6b80;padding:16px 25px}
.book-palette{padding-block:70px 10px}
.book-palette-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:30px}
.book-palette-heading h2{font-size:38px}
.book-palette-heading p:not(.eyebrow){margin-top:15px;font-size:14px;color:var(--muted)}
.book-count{font-size:11px;letter-spacing:.03em;color:#65758b;white-space:nowrap}
.book-swatch-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.book-swatch{padding:9px 9px 13px;background:white;border:1px solid #e1e5eb;border-radius:4px;text-align:left;min-width:0;transition:border-color .15s,background .15s}
.book-swatch:hover{border-color:#7b96be;background:#f8faff}
.book-swatch[aria-pressed="true"]{border:2px solid #315ab4;padding:8px 8px 12px;background:#f3f6fc;box-shadow:0 0 0 1px #315ab4}
.book-swatch-image{display:flex;align-items:center;justify-content:center;height:130px;background:#f2f0eb;padding:12px}
.book-swatch img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.book-swatch-label{display:block;padding:12px 3px 0;font-size:11px;line-height:1.5;color:#5e6d82}
.book-swatch-label strong{font-size:12px;font-weight:600;display:block;color:#24334a}
.book-swatch-label>span{display:block;margin-top:4px}
.book-more{margin-top:24px;border-top:1px solid #e1e5eb}
.book-more summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;font-size:14px;font-weight:600;padding:20px 0;color:#315ab4}
.book-more summary::-webkit-details-marker{display:none}
.book-more summary span{font-size:22px;font-weight:400}
.book-more[open] summary span{transform:rotate(45deg)}
.book-print-heading{margin:44px 0 25px}
.book-print-heading h3{font-size:27px;font-weight:500}
.book-print-heading p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:12px}
.book-prints{grid-template-columns:repeat(4,minmax(0,1fr))}
.book-prints .book-swatch-image{height:165px;padding:10px}
.book-selection{display:flex;justify-content:space-between;align-items:center;gap:25px;border:1px solid #dce4ef;border-radius:5px;background:#f3f6fb;padding:22px 25px;margin-top:30px}
.book-selection-text{font-size:14px;font-weight:500;color:#334e74}
.book-selection .button{flex-shrink:0}
.book-reference-note{margin:20px 0 18px;font-size:12px;color:#758297;line-height:1.8}
.book-enquiry-reference{grid-column:1/-1;background:#eef3fb;border:1px solid #d8e1f0;border-radius:4px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.book-enquiry-reference p{font-size:12px;line-height:1.7;color:#3c557a}
.book-enquiry-reference button{background:transparent;color:#315ab4;font-size:11px;flex-shrink:0;text-decoration:underline}
.library-card .book-modal-swatches{display:flex;gap:8px;margin-bottom:14px;height:46px}
.book-modal-swatches img{width:46px;height:46px;object-fit:contain;background:#edece7}
@media(max-width:1050px){.book-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-directory-intro{gap:35px}.book-editorial{padding:28px 18px;min-height:300px;gap:10px}.book-editorial img{height:140px}.book-directory-intro .page-intro{font-size:15px}.book-search-section{gap:25px}.book-search-section h2{font-size:28px}.book-dyeing{gap:40px;padding:36px}.book-swatch-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-board{padding:20px;gap:14px}.compact-board img{height:60px}.book-fabric-card .fabric-card-info{padding:20px}.book-fabric-card .fabric-card-info h3{font-size:23px}.book-fabric-card .round-arrow{display:none}.book-material-feature .swatch-board{padding:25px;gap:20px 16px}.book-material-feature .swatch-board img{height:100px}}
@media(max-width:700px){.book-directory-intro{grid-template-columns:1fr;gap:40px;padding-bottom:40px}.book-directory-intro h1{font-size:42px}.book-directory-intro .page-intro{font-size:16px}.book-editorial{min-height:280px;padding:35px 25px 24px}.book-editorial img{height:140px}.book-search-section{display:block;padding-block:28px}.book-search-section .fabric-search{min-width:0;margin-top:24px;max-width:none}.book-directory-grid{gap:20px}.book-card-copy{padding:20px}.book-directory-card .book-card-copy>p:not(.book-kicker){min-height:0}.book-dyeing{grid-template-columns:1fr;padding:28px;gap:28px;margin-top:40px}.book-dyeing h2{font-size:32px}.book-home-bottom{display:block}.book-home-bottom .book-download{margin-top:20px}.book-palette{padding-top:45px}.book-palette-heading{display:block;margin-bottom:25px}.book-palette-heading h2{font-size:32px}.book-count{display:block;margin-top:17px}.book-swatch-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.book-swatch-image{height:100px;padding:9px}.book-prints{grid-template-columns:repeat(2,minmax(0,1fr))}.book-prints .book-swatch-image{height:140px}.book-selection{display:block;padding:20px}.book-selection .button{margin-top:18px}.book-enquiry-reference{display:block}.book-enquiry-reference button{margin-top:10px}.book-material-feature .swatch-board{min-height:310px}.book-directory-card .compact-board{padding:18px;gap:12px}.book-directory-card .compact-board img{height:65px}.book-directory-card h2{font-size:23px}.book-home-bottom>p{font-size:12px}}
@media(max-width:520px){.book-directory-grid{grid-template-columns:1fr}.book-directory-card .compact-board{padding:25px;gap:18px}.book-directory-card .compact-board img{height:75px}.book-directory-card h2{font-size:26px}.book-fabric-card .fabric-card-info{padding:23px}.book-fabric-card .fabric-card-info h3{font-size:26px}.book-fabric-card .compact-board img{height:76px}.book-fabric-card .compact-board{padding:25px}.book-card-copy>p{font-size:14px!important}.book-card-copy>.book-kicker{font-size:10px!important}.book-editorial{gap:9px;padding:35px 18px 22px}.book-editorial figure{padding:6px 6px 12px}.book-editorial figcaption{font-size:8px}.book-editorial img{height:120px}.book-dyeing{width:calc(100% - 40px)}.book-print-heading h3{font-size:25px}.book-minimums strong{font-size:27px}}
@media(prefers-reduced-motion:reduce){.book-swatch{transition:none}}
/* Featured range and sourcing requests; the source catalogue is not downloadable. */
.fabric-request-link{display:inline-flex;align-items:center;gap:16px;margin-top:24px;font-size:14px;font-weight:600}
.book-home-bottom .fabric-request-link{margin-top:0;flex-shrink:0}
.fabric-request-panel{display:flex;align-items:center;justify-content:space-between;gap:48px;margin-top:60px;padding:44px;background:#182c4e;border-radius:6px;color:white}
.fabric-request-panel>div{max-width:650px}.fabric-request-panel .eyebrow{color:#b5c8e8}
.fabric-request-panel h2{font-size:35px}.fabric-request-panel p:not(.eyebrow){font-size:15px;line-height:1.85;color:#d1dceb;margin-top:20px}
.fabric-request-panel .fabric-request-note{font-size:12px!important;color:#aebfd9!important;margin-top:14px!important}
.fabric-request-panel .button{background:white;color:#182c4e;flex-shrink:0}
.fabric-picker-request{margin-top:24px!important;padding-top:20px;border-top:1px solid #dfe4ec;font-size:13px!important}
.fabric-picker-request a{color:#315ab4;text-decoration:underline;display:inline-block}
.empty-search .fabric-request-link{margin:0 24px 0 0}
.book-enquiry-reference.fabric-sourcing-guidance{display:block}.fabric-sourcing-guidance strong{display:block;margin-bottom:5px;font-size:13px}
@media(max-width:850px){.fabric-request-panel{display:block;padding:32px}.fabric-request-panel .button{margin-top:26px}}
@media(max-width:700px){.book-home-bottom .fabric-request-link{margin-top:18px}.fabric-request-panel{margin-top:35px;padding:28px}.fabric-request-panel h2{font-size:30px}.empty-search #reset-search{display:block;margin-top:20px}}
