/* Fast, readable public-site experience. This file intentionally uses system fonts. */
:root{--ux-ink:#172033;--ux-muted:#627084;--ux-line:#e5eaf1;--ux-paper:#fff;--ux-page:#f6f8fb;--ux-accent:#3157a4;--ux-radius:18px;--ux-shadow:0 8px 28px rgba(20,35,65,.06)}
html{scroll-behavior:smooth;text-size-adjust:100%;-webkit-text-size-adjust:100%}
.theme-body{background:var(--ux-page);color:var(--ux-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6;font-synthesis:none;text-rendering:optimizeLegibility;overflow-wrap:anywhere}
.theme-body img:not(.blog-card__image):not(.recommended-reading__image){max-width:100%;height:auto}
.theme-body a{transition:color .15s ease,background-color .15s ease,border-color .15s ease}
.theme-body a:focus-visible, .theme-body button:focus-visible, .theme-body input:focus-visible, .theme-body select:focus-visible{outline:3px solid rgba(49,87,164,.5);outline-offset:3px}
.header-styling{background:rgba(255,255,255,.96);border-bottom:1px solid var(--ux-line);box-shadow:0 2px 12px rgba(20,35,65,.035);backdrop-filter:none}
.header-styling>.container,.header-styling .container{width:100%;max-width:1240px;gap:12px;padding-left:clamp(14px,3vw,32px);padding-right:clamp(14px,3vw,32px)}
.header-styling a{min-width:0}
.blog-grid{width:100%;max-width:1240px;margin-inline:auto;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr))!important;align-items:stretch;gap:clamp(14px,2vw,24px)!important;padding:clamp(14px,2.5vw,30px)!important;background:transparent!important}
.blog-grid>div{min-width:0;background:var(--ux-paper);border:1px solid var(--ux-line);border-radius:var(--ux-radius);overflow:hidden;box-shadow:var(--ux-shadow);transition:transform .18s ease,box-shadow .18s ease;border-color:var(--ux-line)}
.blog-grid>div:hover{transform:translateY(-2px);box-shadow:0 14px 35px rgba(20,35,65,.11)}
.blog-grid>div>a{display:block;min-width:0}
.blog-grid>div>div:not(.blog-card__media){min-width:0}
.blog-grid h2{line-height:1.35;font-size:clamp(1rem,1.4vw,1.15rem);font-weight:700;letter-spacing:-.015em;margin:.15rem 0}
.blog-grid h2 a{color:var(--ux-ink);text-decoration:none}
.blog-grid h2 a:hover{color:var(--ux-accent)}
.blog-grid label{font-size:.78rem;color:var(--ux-muted);line-height:1.4}
.blog-card__media{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:16/9;min-height:100px;background:#e8edf5;border-radius:12px}
.blog-card__image{position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.blog-card__media>span,.blog-card__media>div{position:relative;z-index:1}
.recommended-reading{width:100%;max-width:1180px;margin:clamp(24px,4vw,48px) auto;padding:0 clamp(16px,3vw,28px)}
.recommended-reading__heading{margin:0 0 6px;font-size:clamp(1.35rem,2.5vw,1.85rem);line-height:1.25;font-weight:800;letter-spacing:-.035em;color:var(--ux-ink)}
.recommended-reading__intro{margin:0 0 18px;color:var(--ux-muted);font-size:.96rem}
.recommended-reading__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.recommended-reading__card{min-width:0;overflow:hidden;background:var(--ux-paper);border:1px solid var(--ux-line);border-radius:var(--ux-radius);box-shadow:var(--ux-shadow);display:flex;flex-direction:column}
.recommended-reading__image-link{display:block;aspect-ratio:16/9;background:#e8edf5;overflow:hidden}
.recommended-reading__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.recommended-reading__image-link:hover .recommended-reading__image{transform:scale(1.025)}
.recommended-reading__body{padding:16px;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:9px}
.recommended-reading__title{font-size:1rem;line-height:1.4;font-weight:750;margin:0}
.recommended-reading__title a{color:var(--ux-ink);text-decoration:none}
.recommended-reading__title a:hover{color:var(--ux-accent)}
.recommended-reading__excerpt{font-size:.9rem;color:var(--ux-muted);line-height:1.6;margin:0}
.recommended-reading__link{margin-top:auto;padding-top:4px;font-weight:700;font-size:.88rem;color:var(--ux-accent);text-decoration:none}
.content-area{max-width:78ch;margin-inline:auto;font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.85;overflow-wrap:anywhere}
.content-area h1,.content-area h2,.content-area h3{line-height:1.25;letter-spacing:-.025em;scroll-margin-top:90px}
.content-area h1{font-size:clamp(1.8rem,4vw,2.65rem)}
.content-area h2{font-size:clamp(1.4rem,3vw,1.9rem);margin-top:1.8em}
.content-area h3{font-size:clamp(1.15rem,2.5vw,1.45rem);margin-top:1.5em}
.content-area p{margin:1em 0}
.content-area img,.content-area video,.content-area iframe{max-width:100%;height:auto;border-radius:12px}
.content-area table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.content-area pre{max-width:100%;overflow-x:auto}
.content-area a{overflow-wrap:anywhere;text-underline-offset:3px}
.theme-body input, .theme-body textarea, .theme-body select{max-width:100%;font-size:16px}
.theme-body button{touch-action:manipulation}
.theme-body .theme-module, .theme-body .widgets-module{border-radius:var(--ux-radius);border:1px solid var(--ux-line);box-shadow:var(--ux-shadow)}
@media (max-width:850px){.recommended-reading__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr))!important}}
@media (max-width:600px){ .theme-body{font-size:16px}.header-styling .container{padding:10px 12px}.blog-grid{grid-template-columns:minmax(0,1fr)!important;padding:12px!important;gap:14px!important}.blog-grid>div{border-radius:15px}.blog-grid h2{font-size:1.08rem}.recommended-reading{padding:0 14px;margin:28px auto}.recommended-reading__grid{grid-template-columns:minmax(0,1fr);gap:14px}.recommended-reading__body{padding:14px}.content-area{padding-inline:0;line-height:1.8}.content-area img{border-radius:10px} .theme-body button, .theme-body .btn, .theme-body [role=button]{min-height:40px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
html.theme-dark{--ux-ink:#edf2f9;--ux-muted:#aebacd;--ux-line:#303a4c;--ux-paper:#182131;--ux-page:#101722;--ux-accent:#9dbaff;--ux-shadow:0 8px 28px rgba(0,0,0,.16)}
html.theme-dark  .theme-body{background:var(--ux-page);color:var(--ux-ink)}
html.theme-dark .header-styling{background:rgba(18,27,42,.97);border-bottom-color:var(--ux-line)}
html.theme-dark .blog-grid>div,html.theme-dark .recommended-reading__card{background:var(--ux-paper);border-color:var(--ux-line)}
html.theme-dark .blog-grid h2 a,html.theme-dark .recommended-reading__title a{color:var(--ux-ink)}
html.theme-dark .recommended-reading__heading{color:var(--ux-ink)}


/* Additional layout safeguards for theme modules and article images. */
.theme-body .content-styling,.theme-body .body-styling{min-width:0;max-width:100%}
.theme-body .grid{min-width:0}
.theme-body .grid>*{min-width:0}
.theme-body .meta-styling{flex-wrap:wrap;row-gap:6px}
.theme-body .content-area blockquote{border-left:4px solid var(--ux-accent);padding:.75rem 1rem;background:rgba(100,116,139,.07);border-radius:0 12px 12px 0;margin:1.25rem 0}
.theme-body .content-area hr{border:0;border-top:1px solid var(--ux-line);margin:2rem 0}
.theme-body .content-area a:hover{text-decoration-thickness:2px}
@media(max-width:600px){.theme-body .content-area h1{font-size:1.8rem}.theme-body .content-area h2{font-size:1.4rem}.theme-body .content-area h3{font-size:1.15rem}.theme-body .content-area pre{white-space:pre;overflow-x:auto}.theme-body .meta-styling{height:auto!important;min-height:2rem}}

/* Affiliate product companion card: compact, dismissible, and responsive. */
.sticky-amazon-product {
    position: fixed;
    z-index: 1000;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    width: min(330px, calc(100vw - 32px));
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 13px 14px;
    color: #172033;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 15px;
    box-shadow: 0 14px 45px rgba(15, 23, 42, .20);
    box-sizing: border-box;
}
.sticky-amazon-product__image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    overflow: hidden;
    border-radius: 10px;
    background: #f8fafc;
}
.sticky-amazon-product__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.sticky-amazon-product__body { display: flex; flex-direction: column; min-width: 0; gap: 5px; padding-right: 19px; }
.sticky-amazon-product__eyebrow { font-size: 10px; line-height: 1.2; letter-spacing: .08em; text-transform: uppercase; color: #64748b; font-weight: 800; }
.sticky-amazon-product__title { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: #172033; font-size: 13px; font-weight: 750; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
.sticky-amazon-product__title:hover { text-decoration: underline; }
.sticky-amazon-product__button {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 32px;
    padding: 7px 11px;
    border-radius: 8px;
    background: #ff9900;
    color: #1a1a1a !important;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    text-decoration: none !important;
}
.sticky-amazon-product__button:hover { background: #f5a623; }
.sticky-amazon-product__disclosure { color: #64748b; font-size: 9px; line-height: 1.25; }
.sticky-amazon-product__dismiss {
    position: absolute;
    top: 5px;
    right: 5px;
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f1f5f9;
    color: #475569;
    font-size: 19px;
    line-height: 1;
    cursor: pointer;
}
.sticky-amazon-product__dismiss:hover { background: #e2e8f0; color: #0f172a; }
body.has-sticky-amazon-product { padding-bottom: 12px; }

/* Ad network iframe/embed units should never force the mobile layout wider. */
.ad-slot { display: block; width: 100%; max-width: 100%; min-width: 0; margin: 1.25rem auto; text-align: center; box-sizing: border-box; overflow-x: auto; }
.ad-slot iframe, .ad-slot img, .ad-slot video, .ad-slot ins { max-width: 100%; }
.ad-slot:empty { display: none; }

@media (max-width: 640px) {
    .sticky-amazon-product {
        left: max(8px, env(safe-area-inset-left));
        right: max(8px, env(safe-area-inset-right));
        bottom: max(8px, env(safe-area-inset-bottom));
        width: auto;
        max-width: none;
        grid-template-columns: 48px minmax(0, 1fr) auto;
        gap: 9px;
        padding: 9px 10px;
        border-radius: 13px;
    }
    .sticky-amazon-product__image { width: 48px; height: 48px; border-radius: 8px; }
    .sticky-amazon-product__body { gap: 3px; padding-right: 0; }
    .sticky-amazon-product__eyebrow { display: none; }
    .sticky-amazon-product__title { font-size: 11px; line-height: 1.3; -webkit-line-clamp: 2; }
    .sticky-amazon-product__button { align-self: center; max-width: 112px; min-height: 34px; padding: 7px 9px; white-space: nowrap; font-size: 11px; }
    .sticky-amazon-product__disclosure { display: none; }
    .sticky-amazon-product__dismiss { top: -7px; right: -5px; width: 24px; height: 24px; border: 1px solid #e2e8f0; box-shadow: 0 2px 5px rgba(15,23,42,.12); }
    body.has-sticky-amazon-product { padding-bottom: 94px; }
}

/* Slightly wider desktop card; the buy action stays in a dedicated tap target. */
.sticky-amazon-product { width: min(390px, calc(100vw - 32px)); grid-template-columns: 64px minmax(0, 1fr) auto; gap: 10px; }
.sticky-amazon-product__image { width: 64px; height: 64px; }
.sticky-amazon-product__body { padding-right: 0; }
.sticky-amazon-product__button { max-width: 120px; text-align: center; }
@media (max-width: 640px) {
    .sticky-amazon-product { grid-template-columns: 48px minmax(0, 1fr) auto; }
    .sticky-amazon-product__image { width: 48px; height: 48px; }
    .sticky-amazon-product__button { max-width: 112px; }
}

@media (max-width: 640px) {
    .sticky-amazon-product__disclosure { display: block; font-size: 8px; line-height: 1.15; }
}
