/* Imprimante Portable — September 2026. Site identity, not a CMS override bundle. */
:root { --ip-ink:#102f40; --ip-accent:#076e70; --ip-muted:#536773; --ip-line:#dbe5e7; }
body { --ip-accent:#076e70; background:#fff; color:var(--ip-ink); }
html { scroll-padding-top:100px; }
.container .container { max-width:100%; }
.ip-refresh-section .section-header { margin:0 0 30px; text-align:left; }
.ip-refresh-section .section-header h2 { color:var(--ip-ink); font-size:clamp(1.5rem,2.4vw,2rem); line-height:1.22; letter-spacing:-.025em; }
.ip-refresh-section .section-header h2::after { display:none; }
.ip-refresh-section p { color:var(--ip-muted); }
.ip-refresh-section .ip-eyebrow,.ip-eyebrow { margin:0 0 18px; color:var(--ip-accent); font-size:.75rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.ip-intro { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:48px; }
.ip-intro h1 { margin:0 0 20px; max-width:650px; font-size:clamp(2rem,3.4vw,3rem); line-height:1.06; color:var(--ip-ink); letter-spacing:-.045em; }
.ip-intro .ip-intro-promise { margin:0 0 20px; color:var(--ip-ink); font-size:clamp(1.2rem,2vw,1.7rem); line-height:1.3; font-weight:550; letter-spacing:-.02em; }
.ip-intro .ip-intro-description { margin:0 0 28px; max-width:480px; font-size:1rem; line-height:1.65; }
.ip-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 24px; }
.ip-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 23px; border-radius:6px; background:var(--ip-accent); color:#fff!important; font-size:.94rem; font-weight:700; text-decoration:none!important; transition:background .18s,transform .18s; }
.ip-button:hover { background:#054f51; transform:translateY(-2px); }
.ip-text-link { color:var(--ip-accent); font-size:.95rem; font-weight:650; text-underline-offset:4px; }
.ip-intro-media { margin:0; position:relative; }
.ip-intro-media img { display:block; width:100%; height:330px; object-fit:contain; mix-blend-mode:multiply; }
.ip-intro-media figcaption { border-top:1px solid #cadbdd; padding-top:15px; font-size:.8rem; line-height:1.5; }
.ip-intro-media figcaption span { display:block; color:var(--ip-muted); }
.ip-intro-media figcaption a { color:var(--ip-ink); font-weight:650; text-decoration:none; }
.ip-use-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.ip-use { display:block; color:inherit; text-decoration:none!important; border-bottom:1px solid var(--ip-line); padding-bottom:23px; }
.ip-use img { display:block; width:100%; height:195px; object-fit:contain; padding:12px; background:#f6f8f8; mix-blend-mode:multiply; transition:transform .22s; }
.ip-use:hover img { transform:translateY(-4px); }
.ip-use h3 { margin:20px 0 10px; font-size:1.22rem; color:var(--ip-ink); }
.ip-use p { margin:0 0 12px; font-size:.92rem; line-height:1.6; }
.ip-use span { font-size:.88rem; color:var(--ip-accent); font-weight:700; }
.ip-related-line { margin:24px 0 0; font-size:.88rem; line-height:1.7; }
.ip-related-line a { color:var(--ip-accent); text-underline-offset:3px; }
body .ip-home-picks .block-product-feed .product-feed-grid { gap:20px; }
body .ip-home-picks .block-product-feed .product-feed-card { border:1px solid var(--ip-line); border-radius:10px; box-shadow:none; overflow:hidden; }
body .ip-home-picks .block-product-feed .product-feed-card-media { padding:12px 12px 0; }
body .ip-home-picks .block-product-feed .product-feed-card-image-frame { height:170px; aspect-ratio:auto; background:#fff; border-radius:0; }
body .ip-home-picks .block-product-feed .product-feed-card-image-frame img { object-fit:contain; padding:8px; }
body .ip-home-picks .block-product-feed .product-feed-card-body { padding:18px; gap:16px; }
body .ip-home-picks .block-product-feed .product-feed-card-meta { display:block; min-height:0; margin-bottom:10px; }
body .ip-home-picks .block-product-feed .product-feed-card-kicker { display:none; }
body .ip-home-picks .block-product-feed .product-feed-card-badge { display:inline; padding:0; border:0; background:none; color:var(--ip-accent); font-size:.73rem; letter-spacing:0; }
body .ip-home-picks .block-product-feed .product-feed-card-title { font-size:1.12rem; line-height:1.3; margin:0 0 16px; }
body .ip-home-picks .block-product-feed .product-feed-card-specs { display:grid; grid-template-columns:1fr; gap:9px; }
body .ip-home-picks .block-product-feed .product-feed-card-spec { padding:0; border:0; background:none; display:block; }
body .ip-home-picks .block-product-feed .product-feed-card-spec small { color:var(--ip-muted); font-size:.72rem; }
body .ip-home-picks .block-product-feed .product-feed-card-spec strong { color:var(--ip-ink); font-size:.85rem; line-height:1.4; }
body .ip-home-picks .block-product-feed .product-feed-card-commerce-note { display:none; }
body .ip-home-picks .block-product-feed .product-feed-card-footer { gap:12px; padding-top:12px; border-top:1px solid var(--ip-line); }
body .ip-home-picks .block-product-feed .product-feed-card-price-label { display:none; }
body .ip-home-picks .block-product-feed .product-feed-card-price-value { font-size:.9rem; color:var(--ip-muted); }
body .ip-home-picks .block-product-feed .product-feed-card-cta { border-radius:5px; min-height:44px; font-size:.85rem; padding:10px; }
.ip-check-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:90px; }
.ip-check-layout h2 { font-size:2rem; line-height:1.2; margin:0 0 20px; letter-spacing:-.035em; }
.ip-check-layout p { font-size:1rem; max-width:450px; }
.ip-check-list { margin:0; }
.ip-check-list>div { padding:18px 0; border-top:1px solid #ccdcdf; }
.ip-check-list>div:first-child { padding-top:0; border:0; }
.ip-check-list dt { font-weight:700; font-size:1.02rem; margin-bottom:7px; }
.ip-check-list dd { margin:0; font-size:.92rem; line-height:1.7; color:var(--ip-muted); }
.ip-check-list a { color:var(--ip-accent); }
.ip-method-note { max-width:850px; padding-left:28px; border-left:3px solid var(--ip-accent); }
.ip-method-note h2 { font-size:1.5rem; line-height:1.3; margin:0 0 14px; }
.ip-method-note p { font-size:.95rem; line-height:1.75; }
.ip-reading-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 32px; }
.ip-reading-grid>a { position:relative; padding:23px 28px 23px 0; border-bottom:1px solid var(--ip-line); text-decoration:none; color:var(--ip-ink); }
.ip-reading-grid small { color:var(--ip-accent); font-size:.75rem; }
.ip-reading-grid h3 { font-size:1.06rem; line-height:1.4; margin:7px 0 0; }
.ip-reading-grid span { position:absolute; right:0; top:35px; transition:transform .2s; }
.ip-reading-grid a:hover span { transform:translate(3px,-3px); }
/* Collection headers and decisions share the site's reading rhythm. */
body .category-hero:not(.has-image) { background:#eef5f5; color:var(--ip-ink); padding:40px 0; min-height:0; }
body .category-hero:not(.has-image) .hero-gradient { display:none; }
body .category-hero:not(.has-image) h1 { color:var(--ip-ink); font-size:clamp(2rem,3.4vw,3rem); line-height:1.15; }
body .category-hero:not(.has-image) .hero-description { color:var(--ip-muted); font-size:1.05rem; max-width:760px; margin:18px auto 0; }
body .category-hero:not(.has-image) nav ol { color:var(--ip-muted)!important; }
.pillar-category-page .pillar-category-intro { padding:32px 0 24px; }
.pillar-category-page .pillar-category-copy { max-width:850px; }
.pillar-category-page .pillar-category-copy p { font-size:1rem; }
.pillar-category-page .pillar-priority-section,.pillar-category-page .pillar-intent-section { margin-top:20px; margin-bottom:36px; }
.pillar-category-page .pillar-route-card { border-radius:8px; box-shadow:none; border:1px solid var(--ip-line); }
.pillar-category-page .pillar-route-media { height:170px; background:#f5f8f8; }
.pillar-category-page .pillar-route-media img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; padding:12px; }
.pillar-category-page .pillar-route-content { padding:22px; }
.pillar-category-page .pillar-method-block { border-radius:6px; background:#eef5f5; box-shadow:none; margin:32px 0; }
body .test-category-page .test-category-hero-shell { background:#f2f7f7; padding:24px 0 32px; }
body .test-category-page .test-category-hero { grid-template-columns:1.2fr .8fr; gap:50px; padding:22px 0 30px; border:0; box-shadow:none; background:none; border-radius:0; }
body .test-category-page .test-category-hero h1 { font-size:clamp(2rem,3.3vw,3rem); line-height:1.12; max-width:700px; }
body .test-category-page .test-category-hero p { font-size:1rem; line-height:1.65; }
body .test-category-page .test-category-hero-visual { display:block; min-height:0; border:0; border-radius:0; background:none; box-shadow:none; }
body .test-category-page .test-category-hero-visual img { width:100%; height:240px; min-height:0; object-fit:contain; padding:10px; background:none; mix-blend-mode:multiply; }
body .test-category-page .test-category-highlight { position:static; inset:auto; padding:12px 0 0; background:none; color:var(--ip-ink); box-shadow:none; border:0; border-top:1px solid var(--ip-line); border-radius:0; backdrop-filter:none; }
body .test-category-page .test-category-highlight strong,body .test-category-page .test-category-highlight a { color:var(--ip-ink); }
body .test-category-page .test-category-highlight-label { color:var(--ip-muted); }
body .test-category-page .test-category-intro-grid { gap:32px; margin:12px 0 28px; }
body .test-category-page .test-category-intro-panel { background:none; border:0; padding:0; box-shadow:none; }
body .test-category-page .test-category-subcard { border-radius:6px; box-shadow:none; background:#fff; padding:20px; }
body .test-category-page .test-category-meta { gap:12px; }
body .test-category-page .test-category-meta span { background:none; border:0; padding:0; font-size:.78rem; color:var(--ip-muted); }
body .test-category-page .test-category-products { margin-top:40px; }
body .test-category-page .test-category-card--simple,body .test-catalog-page .product-card-catalog--simple { border:1px solid var(--ip-line); border-radius:8px; padding:16px; box-shadow:none; background:#fff; }
body .test-category-page .test-category-card-simple-media,body .test-catalog-page .catalog-card-simple-media { height:165px; background:#fff; margin:0 0 16px; border-radius:0; }
body .test-category-page .test-category-card-simple-media img,body .test-catalog-page .catalog-card-simple-media img { object-fit:contain; padding:10px; }
.ip-card-facts { margin:10px 0 18px; padding:0; display:grid; gap:8px; list-style:none; }
.ip-card-facts li { display:block; font-size:.84rem; line-height:1.45; color:var(--ip-ink); }
.ip-card-facts small { display:block; font-size:.7rem; color:var(--ip-muted); }
.ip-card-summary { font-size:.86rem; line-height:1.55; color:var(--ip-muted); margin:0 0 18px; }
body .test-catalog-page { background:#fff; }
body .test-catalog-page .catalog-hero { padding:16px 0 30px; }
.ip-blog-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:32px 0 10px; }
.ip-blog-paths a { border-bottom:2px solid var(--ip-line); padding:0 0 20px; text-decoration:none; color:var(--ip-ink); }
.ip-blog-paths strong,.ip-blog-paths span { display:block; }
.ip-blog-paths strong { margin-bottom:8px; font-size:1.15rem; }
.ip-blog-paths span { color:var(--ip-muted); font-size:.94rem; line-height:1.6; }
.ip-source-list a { overflow-wrap:anywhere; }
.ip-product-sources { max-width:900px; margin:0 auto 60px; padding:28px 32px; background:#f1f6f6; border-left:3px solid var(--ip-accent); }
.ip-product-sources h2 { margin:0 0 15px; font-size:1.5rem; }
.ip-product-sources p,.ip-source-list { color:var(--ip-muted); font-size:.95rem; line-height:1.7; }
.ip-source-list { padding-left:20px; margin:18px 0; }.ip-source-list li { margin:8px 0; }
.ip-source-list a { color:var(--ip-accent); text-underline-offset:3px; }
body .product-page-wrapper .product-hero { padding-top:24px!important; padding-bottom:32px!important; background:#f2f7f7; }
body .product-page-wrapper .product-hero-shell { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:20px 48px; padding:22px 0; border:0; border-radius:0; box-shadow:none; background:none; }
body .product-page-wrapper .product-hero-heading { grid-column:2; grid-row:1; }
body .product-page-wrapper .product-hero-media-column { grid-column:1; grid-row:1 / span 2; }
body .product-page-wrapper .product-hero-copy-column { grid-column:2; grid-row:2; }
body .product-page-wrapper .product-hero-title { margin:10px 0 14px; }
body .product-page-wrapper .product-hero-badge { background:none; padding:0; border:0; color:var(--ip-accent); }
body .product-page-wrapper .product-gallery { box-shadow:none!important; background:none; border-radius:8px; padding:0; }
body .product-page-wrapper .product-main-image-frame { border:0; border-radius:6px; box-shadow:none; background:white; }
body .product-page-wrapper .product-main-image { height:330px; padding:12px; }
body .product-page-wrapper .product-decision-box { padding:20px; border-radius:8px; box-shadow:none; border:1px solid var(--ip-line); }
body .product-page-wrapper .product-hero-audience { padding:15px 0; background:none; border:0; box-shadow:none; }
body .product-page-wrapper .product-hero-audience-pill { background:none; padding:0; border:0; border-radius:0; font-size:.82rem; }
body .product-page-wrapper .product-hero-audience-list { gap:6px 16px; }
body .product-page-wrapper .product-decision-summary { gap:15px; }
body .product-page-wrapper .product-hero-lead { margin-top:0; font-size:1rem; line-height:1.7; }
@media (prefers-reduced-motion:no-preference) {
 .ip-intro-copy { animation:ip-arrive .5s ease-out both; }
 .ip-intro-media { animation:ip-arrive .7s .1s ease-out both; }
 @keyframes ip-arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
}
@media(max-width:1000px) {
 .ip-intro { gap:25px; }.ip-intro-media img { height:280px; }
 .ip-check-layout { gap:40px; }.ip-reading-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body .ip-home-picks .block-product-feed .product-feed-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 body .test-category-page .test-category-card--simple,body .test-catalog-page .product-card-catalog--simple { display:grid; grid-template-columns:100px minmax(0,1fr); gap:0 15px; padding:16px; align-content:start; }
 body .test-category-page .test-category-card-simple-media,body .test-catalog-page .catalog-card-simple-media { grid-column:1; grid-row:1 / span 3; width:100%; min-width:0; height:130px; aspect-ratio:auto; margin:0; align-self:start; }
 body .test-category-page .test-category-card--simple h3,body .test-catalog-page .catalog-card-simple-title { grid-column:2; margin:0; font-size:1.03rem; line-height:1.4; }
 body .test-category-page .test-category-card--simple .ip-card-facts,body .test-catalog-page .product-card-catalog--simple .ip-card-facts { grid-column:2; margin:12px 0; gap:7px; }
 body .test-category-page .test-category-card-simple-link,body .test-catalog-page .catalog-card-simple-link { grid-column:2; min-height:44px; padding:10px 0; margin:0; align-self:end; }
 .ip-refresh-section>section { padding-top:36px!important; padding-bottom:36px!important; }
 .ip-intro { display:flex; flex-direction:column; gap:18px; align-items:stretch; }
 .ip-intro h1 { font-size:32px; margin-bottom:14px; }
 .ip-intro .ip-eyebrow { margin-bottom:12px; font-size:.68rem; }
 .ip-intro .ip-intro-promise { font-size:1.3rem; margin-bottom:12px; }
 .ip-intro .ip-intro-description { font-size:.92rem; margin-bottom:18px; }
 .ip-intro-media img { height:145px; }
 .ip-intro-media figcaption { padding-top:10px; font-size:.73rem; }
 .ip-intro-media figcaption span { display:none; }
 .ip-actions { gap:14px; }.ip-button { padding:11px 17px; font-size:.86rem; }.ip-text-link { font-size:.85rem; }
 .ip-use-grid,.ip-check-layout,.ip-reading-grid,.ip-blog-paths { grid-template-columns:1fr; gap:22px; }
 .ip-use { display:grid; grid-template-columns:100px 1fr; gap:18px; padding-bottom:20px; }
 .ip-use img { height:130px; padding:3px; }.ip-use h3 { margin:0 0 7px; font-size:1.08rem; }.ip-use p { font-size:.84rem; margin-bottom:8px; }
 .ip-use span { font-size:.8rem; }.ip-refresh-section .section-header { margin-bottom:24px; }
 body .ip-home-picks .block-product-feed .product-feed-grid { grid-template-columns:1fr; gap:18px; }
 body .ip-home-picks .block-product-feed .product-feed-card { display:grid; grid-template-columns:115px 1fr; }
 body .ip-home-picks .block-product-feed .product-feed-card-media { padding:12px 0 0 12px; }
 body .ip-home-picks .block-product-feed .product-feed-card-image-frame { height:135px; }body .ip-home-picks .block-product-feed .product-feed-card-body { padding:16px; }
 body .ip-home-picks .block-product-feed .product-feed-card-title { font-size:1rem; }body .ip-home-picks .block-product-feed .product-feed-card-specs { gap:7px; }
 body .ip-home-picks .block-product-feed .product-feed-card-footer { padding-top:10px; }body .ip-home-picks .block-product-feed .product-feed-card-cta { min-height:44px; }
 .ip-check-layout h2 { font-size:1.6rem; }.ip-check-list { margin-top:10px; }.ip-method-note { padding-left:18px; }
 .ip-reading-grid { gap:0; }.ip-reading-grid>a { padding-top:18px; padding-bottom:18px; }
 body .category-hero:not(.has-image) { padding:28px 0; }body .category-hero:not(.has-image) h1 { font-size:32px; }
 body .category-hero:not(.has-image) .hero-description { font-size:.94rem; }
 body .test-category-page .test-category-hero { grid-template-columns:1fr; gap:20px; padding:10px 0 24px; }
 body .test-category-page .test-category-hero h1 { font-size:32px; }
 body .test-category-page .test-category-hero-visual img { height:150px; }
 body .test-category-page .test-category-highlight { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:center; font-size:.82rem; }
 body .test-category-page .test-category-highlight strong { font-size:.88rem; }
 body .test-category-page .test-category-intro-grid { grid-template-columns:1fr; gap:18px; }
 body .test-category-page .test-category-hero-actions { flex-wrap:wrap; }
 .ip-blog-paths { gap:20px; }.pillar-category-page .pillar-route-media { height:145px; }
 body .product-page-wrapper .product-hero-shell { grid-template-columns:1fr; gap:16px; padding:10px 0; }
 body .product-page-wrapper .product-hero-heading { grid-column:1; grid-row:1; }
 body .product-page-wrapper .product-hero-media-column { grid-column:1; grid-row:2; }
 body .product-page-wrapper .product-hero-copy-column { grid-column:1; grid-row:3; }
 body .product-page-wrapper .product-main-image { height:195px; }
 body .product-page-wrapper .product-thumbnails { gap:8px; }.product-page-wrapper .thumb-item { width:52px; height:52px; min-width:52px; flex-basis:52px; border-radius:4px; }
 body .product-page-wrapper .product-hero-audience { display:none; }
 body .product-page-wrapper .product-hero-meta { font-size:.74rem; gap:6px; }
 body .product-page-wrapper .product-decision-box { padding:16px; }
 .ip-product-sources { padding:22px; margin-bottom:36px; }
}
