/* Crawlable archives, author byline and accessible pagination. */
.seo-archive-head { padding: 56px 0 36px; color: #241b1c; }
.seo-archive-head h1, .seo-notfound h1 { font-size: clamp(30px, 5vw, 48px); line-height: 1.2; margin: 20px 0; overflow-wrap: anywhere; }
.seo-archive-head p, .seo-archive-head div.manrope_regular { line-height: 1.7; max-width: 740px; }
.seo-back, .post__author a { color: #7b4c57; text-decoration: underline; text-underline-offset: 4px; }
.post__author { font-size: 14px; line-height: 1.6; margin-top: 18px; }
.seo-pagination { margin: 32px 0 52px; }
.seo-pagination[hidden] { display: none; }
.seo-pagination ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.seo-pagination a.page-numbers, .seo-pagination span.page-numbers { display: flex; align-items: center; justify-content: center; min-width: 42px; min-height: 44px; padding: 8px 13px; border: 1px solid #dfcfd1; border-radius: 8px; color: #7b4c57; line-height: 1.4; }
.seo-pagination span.current { color: #fbf4ed; background: #7b4c57; border-color: #7b4c57; }
.seo-pagination a:hover { background: #fbf4ed; }
.seo-pagination a:focus-visible, .post__author a:focus-visible, .seo-back:focus-visible, .seo-notfound a:focus-visible { outline: 2px solid #7b4c57; outline-offset: 3px; }
.seo-empty { margin: 24px 0 60px; line-height: 1.7; }
.seo-notfound { padding: 64px 0 88px; }
.seo-notfound__code { color: #7b4c57; font-size: 22px; }
.seo-notfound p { max-width: 700px; line-height: 1.7; }
.seo-notfound__links { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
.seo-notfound__links a { display: block; padding: 14px 20px; border: 1px solid #7b4c57; border-radius: 8px; color: #7b4c57; }
@media(max-width: 600px) { .seo-archive-head { padding: 30px 0 24px; } .seo-pagination { margin: 24px 0 36px; } .seo-pagination ul.page-numbers { gap: 5px; } .seo-pagination a.page-numbers, .seo-pagination span.page-numbers { min-width: 38px; padding: 8px 10px; font-size: 14px; } }

/* Keep the close control inside the scrollable panel instead of clipping it. */
.layer-component__hide { top: 8px; right: 8px; z-index: 2; border-radius: 50%; background: #fffefc; }
.layer-component__hide-icon path { stroke: #53091a; }
.layer-component__hide:focus-visible { outline: 2px solid #fffefc; outline-offset: 3px; }

@media(max-width: 991px) { .seo-archive-head > .container, .seo-notfound > .container { padding-left: 20px; padding-right: 20px; } }

/* Preserve the aspect ratio when WordPress adds intrinsic image dimensions. */
.post__figure img { height: auto; }

/* Keep semantic section headings visible inside component articles. */
.layer-component__content h2,
.layer-component__content h3 {
    display: block;
    font-family: "Manrope", sans-serif;
    font-weight: 600;
    line-height: 1.4;
    margin: 24px 0 12px;
    overflow-wrap: anywhere;
}
.layer-component__content h2 { font-size: 18px; }
.layer-component__content h3 { font-size: 16px; }

/* Direct search landings use normal document scrolling; catalog dialogs stay intact. */
.component-page { color:#40212a; font-family:"Manrope",sans-serif; padding:36px 0 64px; }
.component-page__inner { width:100%; max-width:860px; margin:0 auto; padding:0 24px; }
.component-page__nav { margin-bottom:28px; font-size:14px; }
.component-page__nav a { color:#794b58; text-decoration:underline; text-underline-offset:4px; }
.component-page__header h1 { font-size:clamp(30px,4.5vw,48px); line-height:1.2; font-weight:500; margin:0 0 20px; overflow-wrap:anywhere; }
.component-page__terms { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 28px; padding:0; list-style:none; }
.component-page__terms li { border:1px solid #e5d5db; background:#faf4f6; border-radius:20px; padding:8px 14px; font-size:13px; }
.component-page .component-page__content { height:auto; max-height:none; min-height:0; width:100%; overflow:visible; padding:0; background:transparent; border-radius:0; margin:0; }
.component-page__content p, .component-page__content li { font-size:16px; line-height:1.8; color:#40212a; }
.component-page__content p { margin-bottom:20px; }
.component-page__content h2, .component-page__content h3, .component-page__content h4, .component-page__content h5, .component-page__content h6 { display:block; color:#40212a; margin:32px 0 16px; line-height:1.4; }
.component-page__content h2 { font-size:24px; } .component-page__content h3 { font-size:20px; }
.component-page__content img { display:block; max-width:100%; height:auto; }
.component-page__content a { overflow-wrap:anywhere; }
.component-page__content table { display:block; max-width:100%; overflow-x:auto; }
.component-page__related { margin:36px 0; padding-top:28px; border-top:1px solid #e5d5db; }
.component-page .layer-component__related-title, .component-page .layer-component__related-terms-title, .component-page .layer-component__products-title { color:#40212a; font-family:"Manrope",sans-serif; font-size:20px; line-height:1.4; }
.component-page .layer-component__related-link, .component-page .layer-component__related-terms-link { color:#794b58; border-color:#d7bac4; }
.component-page .layer-component__related-link:hover, .component-page .layer-component__related-terms-link:hover { color:#40212a; background:#faf4f6; }
.component-page .layer-component__products { width:100%; min-width:0; }
.component-page .layer-component__product-name { color:#40212a; }
.component-page a:focus-visible { outline:2px solid #794b58; outline-offset:4px; }
.subscription__network[data-lazy-background] { background-color:#f2e4e9; }
@media(max-width:600px) { .component-page { padding:24px 0 40px; } .component-page__inner { padding:0 20px; } .component-page__nav { margin-bottom:24px; } .component-page__header h1 { font-size:32px; } }

/* Preserve the component's existing featured image on direct search landings. */
.component-page__figure { margin:0 0 28px; }
.component-page__image { display:block; width:100%; max-width:100%; height:auto; border-radius:20px; }
