/* The Beauty Idealist: editorial structure without a second visual identity.
   Site colors and fonts are inherited from Lavoie's existing Customizer. */
.tbi-home,.tbi-story-shell{--tbi-line:rgba(127,127,127,.34);--tbi-muted:inherit;color:inherit;background:transparent}
.tbi-home a,.tbi-story-shell a{transition:opacity .2s ease}
.tbi-home a:focus-visible,.tbi-story-shell a:focus-visible,.tbi-home button:focus-visible,.tbi-home input:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.tbi-home button,.tbi-home input{font-family:inherit}
.tbi-home button{cursor:pointer}
.tbi-wrap{width:calc(100% - 64px);max-width:1390px;margin-left:auto;margin-right:auto}
.tbi-kicker{font-family:var(--tbi-meta-font,inherit);font-size:var(--tbi-meta-size,11px);line-height:1.5;color:inherit;opacity:.75}
.tbi-text-link{display:inline-block;font-family:var(--tbi-meta-font,inherit);font-size:12px;border-bottom:1px solid currentColor;padding-bottom:3px;text-decoration:none}
.tbi-home .tbi-section-heading h2,.tbi-home .tbi-social-grid h2{font-family:var(--tbi-section-font,inherit);font-size:var(--tbi-section-size,28px);font-weight:400;line-height:1.15;text-transform:var(--tbi-section-transform,none);font-style:var(--tbi-section-style,normal);letter-spacing:0;margin:0}
.tbi-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:25px}
/* Every carousel uses the same unobtrusive, precisely centered SVG arrows. */
.tbi-nav-controls{display:flex;gap:3px;align-items:center;flex:0 0 auto}
.tbi-nav-controls button{appearance:none!important;-webkit-appearance:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:35px!important;height:35px!important;min-width:35px!important;min-height:35px!important;padding:0!important;margin:0!important;line-height:1!important;font-size:0!important;color:inherit;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;transition:opacity .2s ease,transform .2s ease}
.tbi-nav-controls button svg{width:20px;height:20px;display:block;flex:0 0 20px;stroke:currentColor}
.tbi-nav-controls button:hover{opacity:.55;transform:translateX(0)}
.tbi-nav-controls button:disabled{opacity:.22;cursor:default}
/* Featured hero: photograph, headline, and matching thumbnails are one composition. */
.tbi-hero{position:relative;margin-top:32px;isolation:isolate}
.tbi-hero-stage{position:relative;height:clamp(480px,45vw,675px);overflow:hidden;isolation:isolate}
.tbi-hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .36s ease,visibility .36s ease}
.tbi-hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.tbi-hero-photo{display:block;position:absolute;inset:0;overflow:hidden;background:rgba(127,127,127,.09)}
.tbi-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.tbi-hero-slide.is-active:hover .tbi-hero-photo img{transform:scale(1.01)}
.tbi-hero-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 40%),linear-gradient(90deg,transparent 48%,rgba(0,0,0,.15) 64%,rgba(0,0,0,.65))}
.tbi-hero-caption{position:absolute;left:clamp(24px,4vw,58px);bottom:clamp(30px,4vw,59px);width:calc(100% - 510px);max-width:680px;z-index:2;pointer-events:none}
.tbi-home .tbi-hero-caption .entry-title{font-family:var(--tbi-title-font,inherit);font-size:clamp(35px,3.8vw,55px);line-height:1.1;font-weight:400;text-transform:var(--tbi-title-transform,none);letter-spacing:0;margin:0;color:#fff;text-align:left}
.tbi-hero-caption a,.tbi-hero-caption a:visited{color:#fff!important;pointer-events:auto}
.tbi-hero-caption a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.tbi-hero-navigation{position:absolute;z-index:4;right:0;top:0;bottom:0;width:clamp(335px,32.5%,455px);display:flex;flex-direction:column;justify-content:flex-end;gap:18px;padding:25px clamp(22px,2.8vw,42px) 35px;color:#fff;pointer-events:none}
.tbi-hero-selectors{display:flex;flex-direction:column;gap:12px;min-height:0;pointer-events:auto}
.tbi-hero-selector{display:grid;grid-template-columns:74px minmax(0,1fr);gap:14px;align-items:center;min-height:71px;text-decoration:none!important;color:#fff!important;opacity:.6;transition:opacity .2s ease}
.tbi-hero-selector.is-active,.tbi-hero-selector:hover,.tbi-hero-selector:focus-visible{opacity:1}
.tbi-hero-selector-image{display:block;width:74px;height:64px;overflow:hidden;background:rgba(255,255,255,.13)}
.tbi-hero-selector-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.tbi-hero-selector:hover img{transform:scale(1.04)}
.tbi-hero-selector-title{font-family:var(--tbi-title-font,inherit);font-size:clamp(18px,1.5vw,21px);font-weight:600;line-height:1.23;text-transform:var(--tbi-title-transform,none);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tbi-hero-controls{align-self:flex-end;pointer-events:auto;color:#fff}
/* Existing latest-post feature, unchanged in concept. */
.tbi-latest{padding-top:72px;padding-bottom:84px}
.tbi-latest-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:27px;align-items:start}
.tbi-story-card{min-width:0}
.tbi-story-image{display:block;position:relative;overflow:hidden;aspect-ratio:4/5;background:rgba(127,127,127,.07)}
.tbi-story-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.tbi-story-card:hover .tbi-story-image img,.tbi-story-card:focus-within .tbi-story-image img{transform:scale(1.025)}
.tbi-image-fallback{display:flex;align-items:center;justify-content:center;height:100%;font-size:18px}
.tbi-story-copy{padding-top:11px}
.tbi-home .tbi-story-copy .entry-title{font-family:var(--tbi-title-font,inherit);font-size:var(--tbi-post-title-size,26px);line-height:1.2;font-weight:400;text-align:left;margin:7px 0 0;letter-spacing:0}
.tbi-story-copy .entry-title a{color:inherit}
.tbi-story-card:hover .tbi-story-copy .entry-title a,.tbi-story-card:focus-within .tbi-story-copy .entry-title a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.tbi-story-copy p{line-height:1.65;font-size:14px;max-width:450px}
.tbi-story-card--lead{grid-row:span 2}
.tbi-story-card--lead .tbi-story-image{aspect-ratio:4/4.6}
.tbi-home .tbi-story-card--lead .tbi-story-copy .entry-title{font-size:clamp(var(--tbi-post-title-size,26px),2.6vw,36px)}
.tbi-story-card--lead .tbi-text-link{margin-top:13px}
.tbi-latest-grid .tbi-story-card:not(:first-child) .tbi-story-image{aspect-ratio:1.26}
.tbi-latest-grid .tbi-story-card:nth-child(4){grid-column:2 / span 2;display:grid;grid-template-columns:1fr 1fr;gap:19px;align-items:center;padding-top:18px;border-top:1px solid var(--tbi-line)}
.tbi-latest-grid .tbi-story-card:nth-child(4) .tbi-story-image{aspect-ratio:1.3}
.tbi-latest-grid .tbi-story-card:nth-child(4) .tbi-story-copy{padding-top:0}
/* Subscribe, Instagram, Substack: three genuine, equal-level columns. */
.tbi-subscribe-band{background:transparent;border-top:1px solid var(--tbi-line);border-bottom:1px solid var(--tbi-line);padding:43px 0 48px}
.tbi-social-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:clamp(27px,4vw,67px);align-items:start}
.tbi-social-column{min-width:0;text-align:left}
.tbi-home .tbi-social-grid h2{margin-bottom:12px}
.tbi-social-intro{font-size:14px;line-height:1.55;margin:0 0 21px}
.tbi-social-link{display:inline-flex;align-items:center;gap:14px;font-family:inherit;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:5px;color:inherit!important;text-decoration:none!important;margin-top:10px}
.tbi-social-link:hover{opacity:.65}
.tbi-social-column .tbi-newsletter-form,.tbi-social-column .tbi-newsletter-form *{box-sizing:border-box;text-align:left}
.tbi-social-column .tbi-newsletter-form{width:100%;min-width:0}
.tbi-social-column .tbi-newsletter-form .widget-title,.tbi-social-column .tbi-newsletter-form .tbi-newsletter-title,.tbi-social-column .tbi-newsletter-form .p_section_title{display:none}
.tbi-social-column .tbi-newsletter-form .widget,.tbi-social-column .tbi-newsletter-form .p_homepage_widget{margin:0!important;padding:0!important;float:none!important;width:100%!important;max-width:none!important}
.tbi-social-column .tbi-newsletter-form form{width:100%;max-width:100%;margin:0;text-align:left!important}
.tbi-social-column .tbi-newsletter-form p{margin:0 0 11px!important}
.tbi-social-column .tbi-newsletter-form label{display:block;font-family:inherit;font-size:12px;line-height:1.45;margin:0 0 4px}
.tbi-social-column .tbi-newsletter-form input[type=email],.tbi-social-column .tbi-newsletter-form input[type=text]{font-family:inherit;font-size:14px;width:100%!important;max-width:100%!important;min-height:42px;border:1px solid var(--tbi-line);padding:10px 12px;margin:0!important;border-radius:0;background:transparent;color:inherit}
.tbi-social-column .tbi-newsletter-form input[type=submit],.tbi-social-column .tbi-newsletter-form button[type=submit]{font-family:inherit;font-size:13px;min-height:40px;cursor:pointer;margin-top:7px!important}
.tbi-social-column .tbi-newsletter-form .mc4wp-form-fields{max-width:100%}
.tbi-instagram-feed{width:100%;overflow:hidden;margin-bottom:13px}
.tbi-instagram-feed img{max-width:100%;height:auto}
/* Live Instagram images: simple magazine grid, not plugin-branded widgets.
   Applies only inside the homepage Instagram column. */
.tbi-social-instagram .tbi-instagram-feed{min-width:0;max-width:100%;margin:0 0 15px}
.tbi-social-instagram .tbi-instagram-feed #sb_instagram{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important;background:transparent!important}
.tbi-social-instagram .tbi-instagram-feed #sb_instagram #sbi_images{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;padding:0!important;margin:0!important;width:100%!important;float:none!important}
.tbi-social-instagram .tbi-instagram-feed #sb_instagram .sbi_item{display:block!important;width:100%!important;max-width:none!important;float:none!important;margin:0!important;padding:0!important;min-width:0}
.tbi-social-instagram .tbi-instagram-feed #sb_instagram .sbi_item:nth-child(n+5){display:none!important}
.tbi-social-instagram .tbi-instagram-feed #sb_instagram .sbi_photo_wrap{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden}
.tbi-social-instagram .tbi-instagram-feed #sb_instagram a.sbi_photo{display:block!important;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:1/1;background-size:cover!important;background-position:center!important;transition:filter .18s ease}
.tbi-social-instagram .tbi-instagram-feed #sb_instagram a.sbi_photo:hover{filter:brightness(.9)}
.tbi-social-instagram .tbi-instagram-feed #sb_instagram .sbi_photo img{width:100%;height:100%;object-fit:cover}
.tbi-social-instagram .tbi-instagram-feed #sb_instagram .sb_instagram_header,
.tbi-social-instagram .tbi-instagram-feed #sb_instagram .sbi_header_link,
.tbi-social-instagram .tbi-instagram-feed #sb_instagram #sbi_load,
.tbi-social-instagram .tbi-instagram-feed #sb_instagram .sbi_load_btn,
.tbi-social-instagram .tbi-instagram-feed #sb_instagram .sbi_follow_btn{display:none!important}

/* Review feature with synchronized hoverable horizontal thumbnails. */
.tbi-reviews{padding-top:78px;padding-bottom:80px}
.tbi-reviews-feature{height:clamp(370px,41vw,525px);position:relative;overflow:hidden}
.tbi-review-panel{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(250px,.84fr);column-gap:clamp(28px,6vw,95px);align-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease}
.tbi-review-panel.is-active{opacity:1;visibility:visible;pointer-events:auto}
.tbi-review-photo{display:block;height:100%;min-height:0;overflow:hidden;background:rgba(127,127,127,.05)}
.tbi-review-photo img{width:100%;height:100%;display:block;object-fit:cover}
.tbi-review-copy .entry-title{font-family:var(--tbi-title-font,inherit);font-weight:400;font-size:clamp(28px,3vw,45px);line-height:1.18;text-align:left;margin:0;text-transform:var(--tbi-title-transform,none)}
.tbi-review-copy .entry-title a{color:inherit}
.tbi-review-copy .entry-title a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.tbi-review-copy p{font-size:14px;line-height:1.65;max-width:340px;margin-top:16px}
.tbi-review-navigation{display:flex;align-items:center;gap:16px;min-width:0;margin-top:19px}
.tbi-review-scroller{overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain;min-width:0;flex:1}
.tbi-review-scroller::-webkit-scrollbar{display:none}
.tbi-review-track{display:flex;gap:14px;width:max-content}
.tbi-review-selector{flex:0 0 260px;display:grid;grid-template-columns:66px 1fr;gap:12px;align-items:center;padding:0 11px 9px 0;background:transparent;border:0;border-bottom:2px solid transparent;text-align:left;opacity:.57;color:inherit;scroll-snap-align:start}
.tbi-review-selector.is-active,.tbi-review-selector:hover,.tbi-review-selector:focus-visible{opacity:1;border-bottom-color:currentColor}
.tbi-review-thumb{width:66px;height:62px;display:block;background:rgba(127,127,127,.07);overflow:hidden}
.tbi-review-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.tbi-review-title{font-family:var(--tbi-title-font,inherit);font-size:16px;line-height:1.27;text-transform:var(--tbi-title-transform,none);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Read More: compact consistent cards, focused categories and whole-site search. */
.tbi-more{padding-bottom:92px;overflow:hidden}
.tbi-more-toolbar{display:flex;align-items:center;gap:25px;margin:0 0 20px}
.tbi-more-filters{display:flex;flex-wrap:nowrap;align-items:center;gap:20px;min-width:0}
.tbi-more-filters button{white-space:nowrap;border:0;border-bottom:1px solid transparent;padding:0 0 4px;background:transparent;color:inherit;font-size:13px;line-height:1.4;opacity:.59}
.tbi-more-filters button.is-active,.tbi-more-filters button:hover,.tbi-more-filters button:focus-visible{opacity:1;border-bottom-color:currentColor}
.tbi-more-search{margin-left:auto;flex:0 1 210px;min-width:125px}
.tbi-more-search input{display:block;width:100%;max-width:100%;box-sizing:border-box;min-height:35px;font-size:13px;color:inherit;background:transparent;border:0!important;border-bottom:1px solid var(--tbi-line)!important;border-radius:0!important;padding:5px 2px!important;margin:0!important}
.tbi-more-search input::placeholder{color:inherit;opacity:.6}
.tbi-more-scroller{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 max(32px,calc((100vw - 1390px)/2)) 9px;scroll-padding-inline:max(32px,calc((100vw - 1390px)/2))}
.tbi-more-scroller::-webkit-scrollbar{display:none}
.tbi-more-track{display:flex;align-items:flex-start;gap:18px;width:max-content;min-width:100%}
.tbi-more-item{flex:0 0 clamp(205px,19vw,255px);scroll-snap-align:start;min-width:0}
.tbi-more-item .tbi-story-image,.tbi-more-item:nth-child(n) .tbi-story-image{aspect-ratio:4/4.6}
.tbi-more .tbi-story-copy{padding-top:10px}
.tbi-home .tbi-more .tbi-story-copy .entry-title{font-size:clamp(17px,1.45vw,21px);line-height:1.25}
.tbi-more-empty{font-size:14px;padding-top:15px}
.tbi-more-empty[hidden]{display:none}
@media(max-width:1100px){
 .tbi-hero-navigation{width:350px;padding:23px 24px 32px}
 .tbi-hero-caption{width:calc(100% - 445px)}
 .tbi-hero-selector-title{font-size:18px}
 .tbi-social-grid{gap:30px}
 .tbi-more-toolbar{gap:15px}
 .tbi-more-filters{gap:14px}
}
@media(max-width:850px){
 .tbi-wrap{width:calc(100% - 38px)}
 .tbi-hero-stage{height:clamp(400px,64vw,565px)}
 .tbi-hero-caption{bottom:29px;left:25px;right:25px;width:calc(100% - 50px);max-width:610px}
 .tbi-hero-photo:after{background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 62%)}
 .tbi-hero-navigation{position:relative;inset:auto;width:100%;box-sizing:border-box;display:flex;flex-direction:row;align-items:center;gap:7px;padding:12px 0 0;color:inherit}
 .tbi-hero-selectors{display:flex;flex-direction:row;flex:1;gap:15px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;justify-content:flex-start}
 .tbi-hero-selectors::-webkit-scrollbar{display:none}
 .tbi-hero-selector{flex:0 0 250px;grid-template-columns:65px minmax(0,1fr);gap:9px;min-height:61px;color:inherit!important;align-items:center;scroll-snap-align:start}
 .tbi-hero-selector-image{width:65px;height:59px}
 .tbi-hero-selector-title{font-size:16px}
 .tbi-hero-controls{align-self:center}
 .tbi-latest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tbi-story-card--lead{grid-row:auto}
 .tbi-latest-grid .tbi-story-card:nth-child(4){display:block;grid-column:auto;padding-top:0;border:0}
 .tbi-latest-grid .tbi-story-card:nth-child(4) .tbi-story-copy{padding-top:12px}
 .tbi-social-grid{grid-template-columns:1fr 1fr;gap:30px}
 .tbi-social-subscribe{grid-row:span 2}
 .tbi-reviews-feature{height:425px}
 .tbi-review-panel{grid-template-columns:1.15fr .85fr;gap:22px}
 .tbi-more-toolbar{flex-wrap:wrap}
 .tbi-more-filters{flex:1}
 .tbi-more-scroller{padding-left:19px;padding-right:19px;scroll-padding-inline:19px}
}
@media(max-width:600px){
 .tbi-wrap{width:calc(100% - 30px)}
 .tbi-hero{margin-top:16px}
 .tbi-hero-stage{height:clamp(355px,110vw,520px)}
 .tbi-hero-caption{left:19px;right:19px;width:calc(100% - 38px);bottom:24px}
 .tbi-home .tbi-hero-caption .entry-title{font-size:clamp(30px,8vw,41px)}
 .tbi-hero-navigation{padding-top:10px}
 .tbi-hero-selector{flex-basis:210px}
 .tbi-hero-selector-title{font-size:15px}
 .tbi-nav-controls button{width:30px!important;height:32px!important;min-width:30px!important;min-height:32px!important}
 .tbi-latest{padding-top:55px;padding-bottom:65px}
 .tbi-latest-grid{grid-template-columns:1fr;gap:33px}
 .tbi-latest-grid .tbi-story-card:nth-child(n) .tbi-story-image{aspect-ratio:4/3}
 .tbi-home .tbi-story-card--lead .tbi-story-copy .entry-title{font-size:var(--tbi-post-title-size,26px)}
 .tbi-social-grid{grid-template-columns:1fr;gap:27px}
 .tbi-social-subscribe{grid-row:auto}
 .tbi-social-column+ .tbi-social-column{border-top:1px solid var(--tbi-line);padding-top:23px}
 .tbi-subscribe-band{padding:37px 0}
 .tbi-reviews{padding-top:60px;padding-bottom:65px}
 .tbi-reviews-feature{height:auto;min-height:0;position:relative}
 .tbi-review-panel{position:relative;inset:auto;display:none;grid-template-columns:1fr;gap:17px}
 .tbi-review-panel.is-active{display:grid}
 .tbi-review-photo{height:clamp(270px,76vw,410px)}
 .tbi-review-copy .entry-title{font-size:clamp(27px,7vw,35px)}
 .tbi-review-copy p{margin-top:10px}
 .tbi-review-track{gap:10px}
 .tbi-review-selector{flex-basis:225px;grid-template-columns:58px minmax(0,1fr)}
 .tbi-review-thumb{width:58px;height:56px}
 .tbi-review-title{font-size:14px}
 .tbi-review-navigation{gap:7px}
 .tbi-more{padding-bottom:70px}
 .tbi-more-toolbar{display:grid;grid-template-columns:1fr auto;gap:13px 10px}
 .tbi-more-filters{grid-column:1/-1;overflow-x:auto;scrollbar-width:none;padding-bottom:3px;gap:21px}
 .tbi-more-search{grid-column:1;flex:auto;min-width:0}
 .tbi-more-controls{grid-column:2}
 .tbi-more-item{flex-basis:clamp(190px,57vw,240px)}
 .tbi-more-track{gap:13px}
}
@media(prefers-reduced-motion:reduce){.tbi-hero-slide,.tbi-hero-photo img,.tbi-story-image img,.tbi-review-panel{transition:none}}

/* Post layout follows Lavoie's native .container / .row / .content-area / .site-sidebar.
   No custom grid replaces the site's own sidebar. */
.single .tbi-shopping{--tbi-line:rgba(127,127,127,.34);--tbi-muted:inherit;color:inherit;background:transparent}
.single .tbi-shopping a{transition:opacity .2s ease}
.single .tbi-shopping a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.tbi-single-cover{margin:0 auto 50px;max-width:1080px}
.tbi-single-cover img{display:block;max-width:100%;width:100%;height:auto;max-height:730px;object-fit:cover}
/* Shop belongs to the native sidebar; its existing widgets are preserved above it. */
.single .site-sidebar .tbi-native-sidebar-shop{margin:22px 15px 38px;position:sticky;top:28px;max-height:calc(100vh - 55px);overflow-y:auto;overscroll-behavior:contain}
.single .site-sidebar .tbi-native-sidebar-shop .tbi-shopping{padding-right:8px}
.single .site-sidebar .tbi-native-sidebar-shop .tbi-shopping-heading h2{font-family:inherit;font-weight:400;font-size:22px;line-height:1.2;margin:0}
.single .site-sidebar .tbi-native-sidebar-shop .tbi-product-detail h3{font-family:inherit;font-size:16px;line-height:1.25;margin:0 0 7px}

.tbi-shopping-heading{padding-top:13px;border-top:1px solid #333;margin-bottom:18px}
.tbi-home .tbi-shopping-heading h2,.single .entry-content .tbi-shopping-heading h2{font-size:25px;line-height:1.2;margin:0}
.tbi-shopping--rail .tbi-product-list{display:flex;flex-direction:column}
.tbi-product{display:grid;grid-template-columns:75px minmax(0,1fr);gap:14px;min-width:0}
.tbi-shopping--rail .tbi-product{padding:15px 0;border-bottom:1px solid var(--tbi-line)}
.tbi-product-photo{aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f5f5f5}
.tbi-product-photo img{display:block;width:100%;height:100%;object-fit:contain}
.tbi-product-photo span{color:#777;font-size:10px}
.tbi-product-brand{font-size:11px;margin-bottom:4px}
.tbi-product-detail{min-width:0}
.single .tbi-shopping--end .tbi-product-detail h3{font-size:17px;line-height:1.2;margin:0 0 7px}
.tbi-product-price{display:block;font-size:12px;margin-bottom:7px;color:var(--tbi-muted)}
.tbi-product-links{display:flex;flex-wrap:wrap;gap:4px 12px}
.tbi-product-links a{font-size:12px;text-decoration:underline;text-underline-offset:3px}
.tbi-shopping--end{clear:both;margin-top:65px;padding-top:23px;border-top:1px solid #333}
.tbi-shopping--end .tbi-shopping-heading{border:0;padding:0;margin-bottom:25px}
.single .entry-content .tbi-shopping--end .tbi-shopping-heading h2{font-size:31px}
.tbi-shopping--end .tbi-product-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 19px}
.tbi-shopping--end .tbi-product{display:block}
.tbi-shopping--end .tbi-product-photo{margin-bottom:12px}
.single .entry-content .tbi-shopping--end .tbi-product-detail h3{font-size:21px}

/* Below the native breakpoint, the regular sidebar follows the article.
   Product shopping is still accessible at the end of the post itself. */
@media(max-width:767px){.single .site-sidebar .tbi-native-sidebar-shop{position:static;max-height:none;overflow:visible;margin:20px 15px}}
@media(max-width:560px){.tbi-shopping--end .tbi-product-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 13px}.single .entry-content .tbi-shopping--end .tbi-product-detail h3{font-size:18px}}
/* Phone hero: one unambiguous active thumbnail/title instead of a cramped
   scroll strip beside the arrows. The photo itself remains unobstructed. */
@media(max-width:560px){
 .tbi-hero-photo:after{background:none}
 .tbi-hero-caption{display:none}
 .tbi-hero-stage{height:clamp(355px,112vw,500px)}
 .tbi-hero-navigation{gap:10px;padding-top:13px}
 .tbi-hero-selectors{display:block;overflow:visible;min-width:0}
 .tbi-hero-selector{display:none!important;min-height:65px;opacity:1!important}
 .tbi-hero-selector.is-active{display:grid!important;grid-template-columns:68px minmax(0,1fr);gap:12px}
 .tbi-hero-selector-image{width:68px;height:65px}
 .tbi-hero-selector-title{font-size:19px;font-weight:600;line-height:1.22}
}


/* ===============================================================
   INDIVIDUAL POSTS — an editorial opening and considered reading width.
   All font families continue to come from the site's Lavoie settings.
   This is deliberately scoped only to single posts, not homepage/pages.
   =============================================================== */
.single .tbi-article-page{
    width:100%;max-width:1540px;margin:0 auto;
    padding:clamp(24px,3vw,48px) clamp(18px,3.5vw,58px) 105px;
    color:inherit;background:transparent;
}
.single .tbi-article-intro{
    max-width:1200px;margin:0 auto clamp(34px,4.4vw,64px);text-align:center;
}
.single .tbi-article-metadata{
    display:flex;align-items:center;justify-content:center;
    gap:24px;min-height:18px;margin:0 auto clamp(18px,2.1vw,30px);
    font:inherit;font-size:11px;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;
}
.single .tbi-article-metadata:empty{display:none}
.single .tbi-article-metadata a{color:inherit;text-decoration:none}
.single .tbi-article-metadata a:hover,.single .tbi-article-metadata a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.single .tbi-article-metadata time{opacity:.65}
.single .tbi-article-headline{
    color:inherit;font-size:clamp(47px,6vw,94px);line-height:1.06;
    font-weight:400;letter-spacing:-.025em;margin:0 auto;
    max-width:1140px;text-align:center;
    overflow-wrap:break-word;text-wrap:balance;
}
.single .tbi-article-deck{
    max-width:760px;margin:clamp(22px,2.5vw,35px) auto 0;
    font-size:clamp(17px,1.6vw,22px);line-height:1.55;
    font-weight:400;text-align:center;
}
.single .tbi-article-cover{
    max-width:100%;margin:0 auto clamp(55px,7vw,105px);
}
.single .tbi-article-cover-image{
    display:block;width:100%;height:auto;margin:0;
}
.single .tbi-article-cover--wide .tbi-article-cover-image{
    aspect-ratio:1.9 / 1;object-fit:cover;
}
.single .tbi-article-cover figcaption{
    margin:10px 0 0;text-align:right;font-size:12px;line-height:1.5;opacity:.7;
}
.single .tbi-article-grid{
    display:grid;grid-template-columns:minmax(0, 760px) minmax(250px, 310px);
    align-items:start;justify-content:space-between;
    column-gap:clamp(48px,6vw,112px);
    max-width:1260px;margin:0 auto;
}
.single .tbi-article-grid .tbi-article-main{min-width:0;max-width:760px;width:100%}
.single .tbi-article-grid .tbi-article-main article.hentry{width:100%;max-width:none}
.single .tbi-article-grid .entry-content{
    font-family:inherit;font-size:clamp(16px,1.16vw,18px);
    line-height:1.85;text-align:left;overflow-wrap:break-word;
    color:inherit;
}
.single .tbi-article-grid .entry-content > p{
    margin:0 0 1.35em;
}
.single .tbi-article-grid .entry-content > p:first-of-type{
    font-size:clamp(18px,1.4vw,21px);line-height:1.75;
}
.single .tbi-article-grid .entry-content > h2,
.single .tbi-article-grid .entry-content > h3{
    font-family:inherit;line-height:1.18;text-align:left;
    margin:2em 0 .8em;
}
.single .tbi-article-grid .entry-content blockquote{
    border-left:1px solid currentColor;
    padding:12px 0 12px clamp(18px,2vw,35px);
    margin:45px 0;
}
.single .tbi-article-grid .entry-content blockquote p{
    font-size:clamp(21px,2.1vw,30px);
    font-weight:400;line-height:1.45;text-align:left;
}
.single .tbi-article-grid .entry-content img,
.single .tbi-article-grid .entry-content figure{
    max-width:100%;height:auto;
}
.single .tbi-article-grid .entry-content .wp-caption,
.single .tbi-article-grid .entry-content .wp-block-image{margin-top:28px;margin-bottom:30px}
.single .tbi-article-grid .entry-content a{
    text-decoration-thickness:1px;text-underline-offset:3px;
}
.single .tbi-article-grid .entry-content a:focus-visible,
.single .tbi-article-related a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
/* Existing Lavoie sidebar widget content, not an invented replacement. */
.single .tbi-article-aside{min-width:0;width:100%;align-self:stretch}
.single .tbi-article-aside .site-sidebar{
    float:none!important;left:auto!important;right:auto!important;
    width:100%!important;max-width:none!important;
    padding:0!important;margin:0!important;text-align:left;
}
.single .tbi-article-aside .site-sidebar .widget{padding:0 0 34px;margin-bottom:20px}
.single .tbi-article-aside .site-sidebar img{max-width:100%;height:auto}
.single .tbi-article-aside .site-sidebar .widget-title{text-align:left}
.single .tbi-article-aside .tbi-native-sidebar-shop{margin:20px 0 30px}
.single .tbi-article-aside .tbi-shopping--rail .tbi-product-list{gap:0}
.single .tbi-article-aside .tbi-product{grid-template-columns:70px minmax(0,1fr);gap:12px}
.single .tbi-article-grid .entry-footer{margin-top:55px;padding-top:18px;border-top:1px solid rgba(110,110,110,.35)}
.single .tbi-article-main .post-navigation{margin:34px 0 60px}
/* Related stories mirror the restrained image-led homepage cards. */
.single .tbi-article-related{
    max-width:1260px;margin:clamp(65px,8vw,120px) auto 0;
    padding-top:26px;border-top:1px solid rgba(110,110,110,.4);
}
.single .tbi-article-related > h2{
    margin:0 0 26px;font-size:clamp(28px,2.5vw,38px);
    font-weight:400;text-align:left;line-height:1.2;
}
.single .tbi-article-related-grid{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,30px)
}
.single .tbi-article-related-item{min-width:0}
.single .tbi-article-related-link{color:inherit;text-decoration:none;display:block}
.single .tbi-article-related-image{
    display:block;aspect-ratio:4/3;overflow:hidden;
}
.single .tbi-article-related-image img{
    display:block;width:100%;height:100%;object-fit:cover;
    transition:transform .45s ease;
}
.single .tbi-article-related-link:hover .tbi-article-related-image img{
    transform:scale(1.025);
}
.single .tbi-article-related-title{
    display:block;margin-top:13px;font-size:clamp(19px,1.7vw,25px);
    font-weight:400;line-height:1.28;
}
.single .tbi-article-related-link:hover .tbi-article-related-title{text-decoration:underline;text-underline-offset:4px}
@media(max-width:980px){
 .single .tbi-article-grid{grid-template-columns:minmax(0, 1fr) minmax(225px,29%);gap:35px}
 .single .tbi-article-headline{font-size:clamp(42px,6.2vw,67px)}
 .single .tbi-article-cover--wide .tbi-article-cover-image{aspect-ratio:1.65/1}
}
@media(max-width:740px){
 .single .tbi-article-page{padding:24px 18px 65px}
 .single .tbi-article-intro{margin-bottom:30px}
 .single .tbi-article-metadata{font-size:10px;gap:15px;margin-bottom:17px}
 .single .tbi-article-headline{font-size:clamp(37px,8.2vw,53px);letter-spacing:-.02em;line-height:1.09}
 .single .tbi-article-deck{font-size:17px;margin-top:18px}
 .single .tbi-article-cover{margin-bottom:40px}
 .single .tbi-article-cover--wide .tbi-article-cover-image{aspect-ratio:1.24/1}
 .single .tbi-article-grid{grid-template-columns:minmax(0,1fr);gap:55px}
 .single .tbi-article-grid .entry-content{font-size:16px;line-height:1.77}
 .single .tbi-article-grid .entry-content > p:first-of-type{font-size:17.5px}
 .single .tbi-article-aside .site-sidebar{padding:0!important}
 .single .tbi-article-aside .tbi-native-sidebar-shop{position:static;max-height:none;overflow:visible}
 .single .tbi-article-related{margin-top:60px}
 .single .tbi-article-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}
}
@media(max-width:440px){
 .single .tbi-article-headline{font-size:clamp(35px,9vw,43px)}
 .single .tbi-article-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
 .single .tbi-article-related-title{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.single .tbi-article-related-image img{transition:none}}


/* v0.1.10: keep the original widgets, but give the shopping block enough
   containing-block height to actually stick while the article scrolls.
   Sticky cannot travel beyond the bottom of its nearest containing block. */
@media (min-width: 768px) {
    .single .tbi-article-aside {
        align-self: stretch;
        min-height: 100%;
    }
    .single .tbi-article-aside .site-sidebar {
        height: 100%;
        min-height: 100%;
        overflow: visible;
    }
    .single .tbi-article-aside .site-sidebar .tbi-native-sidebar-shop {
        position: -webkit-sticky;
        position: sticky;
        top: 28px;
        max-height: calc(100vh - 56px);
        max-height: calc(100dvh - 56px);
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }
}
@media (max-width: 767px) {
    .single .tbi-article-aside .site-sidebar {
        height: auto;
        min-height: 0;
    }
    .single .tbi-article-aside .site-sidebar .tbi-native-sidebar-shop {
        position: static;
        max-height: none;
        overflow: visible;
    }
}

/* v0.1.13: locally saved Instagram photo snapshots / curated images. */
.tbi-social-instagram .tbi-ig-local-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:100%;width:100%}
.tbi-social-instagram .tbi-ig-local-photo{display:block;aspect-ratio:1/1;overflow:hidden;min-width:0;background:rgba(127,127,127,.05)}
.tbi-social-instagram .tbi-ig-local-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease,opacity .25s ease}
.tbi-social-instagram .tbi-ig-local-photo:hover img,.tbi-social-instagram .tbi-ig-local-photo:focus-visible img{transform:scale(1.035);opacity:.88}
@media(prefers-reduced-motion:reduce){.tbi-social-instagram .tbi-ig-local-photo img{transition:none}}
