/* GP784: reset action is phone-only. A hidden topic link is never a valid
   navigation target, regardless of viewport or other legacy display rules. */
.gp-knowledge-active-reset{display:none;}
.gp-knowledge-archive .gp-knowledge-open-topic[hidden]{display:none!important;}
/* GP781: toolbar filter controls are mobile actions, not desktop sidebar controls.
   Do not modify the original desktop category/filter sidebar layout. */
@media (min-width: 897px){
  body #gp-main .gp-product-archive .gp-directory-toolbar-filter,
  body #gp-main .gp-knowledge-archive .gp-knowledge-toolbar-filter{
    display:none!important;
  }
}
/* 751: all other visual rules stay scoped to phones and tablets. */
.gp-product-promise403__item .gp-archive-phone-label{display:none}
.gp751-search-meta,.gp751-readtime,.gp751-price-note{display:none!important}
@media(max-width:896px){
 body[class] .gp-affiliate-strip{border-top:1px solid #d1dfd3!important;border-bottom:1px solid #d1dfd3!important;border-inline:0!important;box-shadow:none!important;position:relative!important;margin-bottom:0!important;z-index:2}
 /* 752: one identical border per edge; no second painted separator. */
 body[class] .gp-affiliate-strip::before,body[class] .gp-affiliate-strip::after{content:none!important;display:none!important}
 body .gp-home--v3 .gp-home-section:not(.gp-home-trust){padding:24px 12px!important}
 body .gp-home--v3 .gp-home-trust.gp-home-panel{padding-block:20px!important}
 body .gp-home--v3 .gp-home-hero-nav__copy strong{padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid #d9e4dc}
 body .gp-home--v3 :is(.gp-home-topics-head,.gp-home-section-head,.gp-home-products-head){gap:12px!important;margin:0 0 16px!important}
 body .gp-home--v3 :is(.gp-home-topics-head,.gp-home-section-heading-copy,.gp-home-products-titleblock) h2{margin:0!important}
 body .gp-home--v3 :is(.gp-home-topics-intro,.gp-home-section-heading-copy>p,.gp-home-products-intro){margin:10px 0 0!important;line-height:1.5!important;text-wrap:pretty}
 body .gp-home--v3 :is(.gp-home-topic-navrow,.gp-home-editorial-filterline){margin:0!important}
 body .gp-home--v3 .gp-home-section-heading-copy--topics{gap:0!important}
 body .gp-home--v3 :is(.gp-home-topic-navrow,.gp-home-editorial-toolbar){padding-top:0!important;margin-top:0!important;gap:12px!important}
 body .gp-home--v3 .gp-home-topics-shell{gap:16px!important}
 body .gp-home--v3 .gp-home-topics-head{margin-bottom:0!important;padding-bottom:0!important}
 body .gp-home--v3 .gp-home-topics-carousel{margin-top:0!important}
 body .gp-home--v3 .gp-home-editorial-toolbar{margin-bottom:16px!important}
 body .gp-home--v3 .gp-home-editorial-actions{display:none!important}
 body .gp-home--v3 :is(.gp-home-topics-tools,.gp-home-editorial-tools){gap:12px!important;margin:0 0 16px!important}
 body .gp-home--v3 :is(.gp-home-topics-carousel,.gp-home-article-carousel,.gp-home-products-carousel){padding-inline:0!important}
 body .gp-home--v3 .gp-home-rail-nav{width:44px!important;height:44px!important;z-index:5}
 body .gp-home--v3 .gp-home-rail-nav--prev{left:2px!important}
 body .gp-home--v3 .gp-home-rail-nav--next{right:2px!important}
 body .gp-home--v3 :is(.gp-home-article-carousel,.gp-home-products-carousel) .gp-home-rail-nav{top:82px!important;transform:none!important}
 body .gp-home--v3 .gp-home-rail-nav::before{inset:8px!important;background:#fffffff0!important}
 body .gp-scroll750.has-more>.gp-scroll750__next{background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;color:#315d4699!important;width:32px!important}
 body .gp-scroll750__next span{animation:gp-scroll750-hint 1.8s ease-in-out infinite;text-shadow:0 0 3px #fff;font-size:25px}
 body .gp-scroll750__next::before,body .gp-scroll750__next::after{display:none!important}
 /* Restore the newsletter's full-width copy below its illustration. */
 body .gp-hf-footer .gp-newsletter-v4-layout{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"icon" "copy" "form"!important;gap:14px!important}
 body .gp-hf-footer .gp-newsletter-v4-icon{width:48px!important;height:48px!important;border-radius:14px!important}
 body .gp-hf-footer .gp-newsletter-v4-title{font-size:1.2rem!important;line-height:1.3!important;text-wrap:balance}
 body .gp-hf-footer .gp-newsletter-v4-text{font-size:.9375rem!important;line-height:1.5!important;text-wrap:pretty}
 body .gp-hf-footer .gp-hf-mobile-disclaimer-copy{max-width:none!important;width:100%!important;text-wrap:pretty!important}
 body:has(.gp-home--v3) main#gp-main,body.gp-library-utility main#gp-main{padding-bottom:0!important;margin-bottom:0!important}
 body .gp-hf-footer{margin-top:0!important}
 body.gp-library-utility .gp-collection{padding:18px 12px 24px!important}
 body.gp-library-utility .gp-collection-breadcrumb{margin-bottom:16px!important}
 body.gp-library-utility .gp-collection-title{margin-bottom:16px!important}
 body.gp-library-utility .gp-collection .gp-collection-saved-section--products{padding:0!important;background:transparent!important;border:0!important}
 body.gp-library-utility .gp-collection-saved-section--products .gp-collection-section-head{padding:0 8px 10px!important}
 body.gp-library-utility .gp-collection-summary__icon{background:none!important;box-shadow:none!important;border:0!important;outline:0!important;border-radius:0!important}
 body.gp-library-utility .gp-collection-summary__icon::before,body.gp-library-utility .gp-collection-summary__icon::after{display:none!important}
 body.gp-library-utility .gp-collection-summary__copy>span{word-spacing:.18em!important;line-height:1.7!important}
 body.gp-library-utility .gp-collection-filterbar button{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;font:600 .8125rem/1.35 var(--gp-font-body,system-ui)!important}
 body.gp-library-utility .gp-collection-filterbar button span{font:inherit!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;min-width:0!important;min-height:0!important;line-height:inherit!important}
 body.gp-library-utility .gp-collection-filterbar button .gp-utility-desktop{display:none!important}
 body.gp-library-utility .gp-collection :is(.gp-collection-selection__chip button,.gp-collection-card__remove,.gp-compare-head__remove){background:transparent!important;border:0!important;box-shadow:none!important;color:#536c62!important}
 body.gp-library-utility .gp-collection :is(.gp-collection-selection__chip button,.gp-collection-card__remove,.gp-compare-head__remove)::before{display:none!important}
 body.gp-library-utility .gp-collection :is(.gp-collection-selection__chip button,.gp-collection-card__remove,.gp-compare-head__remove) svg{width:13px!important;height:13px!important}
 body.gp-library-utility .gp-collection :is(select,.gp-reading-library__controls input){font-size:16px!important;font-weight:400!important;line-height:1.4!important;min-height:44px!important;padding:10px!important}
 body.gp-library-utility .gp-collection .gp-collection-quiet{font:400 .8125rem/1.4 var(--gp-font-body,system-ui)!important}
 body.gp-library-utility .gp-collection [data-gp-reading-count]{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;width:auto!important;min-width:0!important;height:auto!important;font:500 .8125rem/1.3 system-ui!important}
 body.gp-library-utility .gp-reading-library__controls{gap:12px!important;margin-block:16px!important}
 body.gp-library-utility .gp-reading-library__navigation{gap:12px!important;flex-wrap:wrap!important}
 body.gp-library-utility .gp-reading-library__arrows button{background:transparent!important;border:0!important;box-shadow:none!important}
 body.gp-library-utility .gp-reading-library__arrows button::before{display:none!important}
 /* One disclosure treatment in all utility pages, with an unbroken border. */
 body.gp-library-utility .gp-collection :is(.gp-utility-info,.gp-reading-privacy-details){border:1px solid #d9e4dc!important;border-radius:12px!important;background:#f5f8f3!important;margin:12px 0 0!important;padding:0!important;overflow:hidden}
 body.gp-library-utility .gp-collection :is(.gp-utility-info,.gp-reading-privacy-details)::before{display:none!important}
 body.gp-library-utility .gp-collection :is(.gp-utility-info,.gp-reading-privacy-details) summary{display:flex!important;align-items:center!important;gap:10px!important;padding:12px!important;min-height:48px!important;font:600 .875rem/1.4 var(--gp-font-body,system-ui)!important;border:0!important;background:transparent!important}
 body.gp-library-utility .gp-collection :is(.gp-utility-info,.gp-reading-privacy-details)>:not(summary){margin:0!important;padding:0 12px 14px!important;font-size:.875rem;line-height:1.6}
 body.gp-library-utility .gp-collection-tip{border:0!important;background:none!important;padding:0!important;margin:0!important}
 body.gp-library-utility .gp-collection-disclaimer:empty{display:none!important}
 body.gp-library-utility .gp-collection--compare>.gp-utility-info{width:100%}
 /* New saved-product layout, using real catalogue facts only. */
 body .gp-product751{border:1px solid #d9e4dc;border-radius:14px;padding:14px;background:#fff;min-width:0}
 body .gp-product751__head{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:start}
 body .gp-product751__image{display:grid;place-items:center;width:56px;height:64px;border:1px solid #e4ebe5;border-radius:10px;overflow:hidden}
 body .gp-product751__image img{width:100%;height:100%;object-fit:contain}
 body .gp-product751__image svg{width:28px;height:28px}
 body .gp-product751 h3{font-size:1.0625rem!important;line-height:1.35!important;margin:4px 0!important;text-wrap:pretty!important}
 body .gp-product751__category{font-size:.6875rem;letter-spacing:.035em;font-weight:600;color:#38624b}
 body .gp-product751__brand{font-size:.8125rem;color:#536c62}
 body .gp-product751__facts{margin:12px 0}
 body .gp-product751__description{font-size:.875rem;line-height:1.55;margin:12px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 body .gp-product751__description.is-expanded{display:block}
 body :is(.gp-product751__more,.gp638-suggestion-more,.gp638-header-more){color:#21688b!important;background:none!important;border:0!important;padding:8px 0!important;min-height:44px;font-size:.8125rem!important;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
 body .gp-product751__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:1px solid #e4ebe5;margin-top:12px;padding-top:12px}
 body .gp-product751__actions>*{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #d1dfd3;border-radius:9px;font-size:.8125rem;font-weight:600;line-height:1.3;padding:8px;text-align:center;background:#fff;color:#315d46;text-decoration:none;cursor:pointer}
 body .gp-product751__actions .gp-product751__view{background:#f0f6ec}
 body .gp-product751__actions [aria-pressed=true]{background:#eff6f1}
 body .gp-product751__actions a[target=_blank]{background:var(--gp-primary-gradient);border-color:#57933a;color:white}
 body .gp-product751 :focus-visible{outline:2px solid #21688b;outline-offset:3px}
 /* Results: thumbnail + title/copy, actions on their own row. */
 body .gp-collection-suggestions{position:relative!important;inset:auto!important;width:100%!important;max-height:65vh!important;overflow:auto!important;box-shadow:0 4px 16px #213e3210!important}
 body .gp-collection-suggestion{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:8px 10px!important;padding:12px!important;align-items:start!important;min-width:0!important}
 body .gp-collection-suggestion .gp-collection-suggestion__media{grid-column:1!important;grid-row:1!important;width:44px!important;height:52px!important;align-self:start!important;margin:0!important}
 body .gp-collection-suggestion__copy{grid-column:2!important;grid-row:1!important;min-width:0!important}
 body .gp-collection-suggestion__title{font-size:.9375rem!important;line-height:1.35!important;white-space:normal!important;text-wrap:pretty!important}
 body .gp-collection-suggestion__byline{display:none!important}
 body .gp751-search-meta{display:grid!important;gap:4px;margin-top:6px;font-size:.75rem;line-height:1.4;overflow-wrap:anywhere}
 body .gp-collection-suggestion__facts{display:flex!important;flex-wrap:wrap!important;gap:5px 10px!important;margin-top:8px!important;font-size:.8125rem!important;line-height:1.4!important}
 body :is(.gp638-snapshot-date,.gp751-price-note){flex-basis:100%;font-size:.75rem!important;color:#67796e}
 body .gp751-price-note{display:block!important}
 body .gp-collection-suggestion__actions{grid-column:2!important;grid-row:2!important;display:flex!important;justify-content:flex-start!important;gap:8px!important;align-self:start!important}
 body .gp-collection-suggestion__actions button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:12px!important;border-radius:9px!important}
 body .gp638-suggestion-excerpt{font-size:.8125rem!important;line-height:1.5!important;margin-top:8px!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical;overflow:hidden}
 body .gp638-suggestion-excerpt.is-expanded{display:block!important}
 body .gp-search-option{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:10px!important;padding:12px!important;align-items:start!important}
 body .gp-search-option__media{grid-column:1;grid-row:1;width:44px!important;height:52px!important;align-self:start!important}
 body .gp-search-option__body{grid-column:2;grid-row:1;min-width:0!important}
 body .gp-search-option__title{font-size:.9375rem!important;line-height:1.35!important;white-space:normal!important}
 body .gp-search-option__actions{grid-column:2;grid-row:2;display:flex!important;justify-content:flex-start!important;gap:8px!important}
 body .gp-search-option__actions button{width:44px!important;height:44px!important;min-width:44px!important;padding:10px!important}
 body .gp-search-option__meta{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
 body .gp-search-option--products:has(.gp751-search-meta) .gp-search-option__meta{display:none!important}
 body .gp-search-option__facts{display:flex!important;flex-wrap:wrap!important;gap:5px 10px!important;font-size:.8125rem!important;line-height:1.4!important}
 body .gp-search-option__facts>span:last-child{flex-basis:100%}
 /* Reading tools: four equal actions, a separate small close control. */
 body .gp-reading-floating:not([hidden]){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:32px 10px 10px!important;max-width:440px!important}
 body .gp-reading-floating>:is(button,a):not(.gp-reading-floating__hide){width:100%!important;margin:0!important;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:.8125rem!important;line-height:1.35!important;padding:8px!important;text-align:center!important}
 body .gp-reading-floating .gp-reading-floating__hide{width:44px!important;height:32px!important;min-height:32px!important;top:0!important;right:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
 body .gp-reading-floating__marks-panel{grid-column:1/-1!important;width:100%!important;max-height:30vh!important}
 body .gp-reading-floating [data-gp-save-place]{order:1}
 body .gp-reading-floating__delete{order:2}
 body .gp-reading-floating__marks-toggle{order:3}
 body .gp-reading-floating__library{order:4}
 body .gp-reading-floating__marks-panel{order:5}
 body .gp-reading-floating:has(.gp-reading-floating__delete[hidden]):has(.gp-reading-floating__marks-toggle:not([hidden])) [data-gp-save-place]{grid-column:1/-1}
 body .gp-reading-floating:not([hidden])>[hidden]{display:none!important}
 body .gp-knowledge-article .gp-editorial-carousel{padding-inline:0!important}
 body .gp-knowledge-article .gp-editorial-carousel__arrow{top:70px!important;transform:none!important;z-index:4}
 body .gp-knowledge-article .gp-editorial-carousel__arrow.is-prev{left:3px!important}
 body .gp-knowledge-article .gp-editorial-carousel__arrow.is-next{right:3px!important}
 body .gp-knowledge-article .gp-editorial-carousel__arrow::before{z-index:-1!important}
 body .gp751-readtime{display:block!important;font-size:.8125rem;line-height:1.4;color:#536c62;margin-top:8px}
}
@media(min-width:600px) and (max-width:896px){
 body .gp-home--v3 .gp-home-section:not(.gp-home-trust){padding-inline:24px!important}
 body.gp-library-utility .gp-collection{padding-inline:24px!important}
 body .gp-product751__head{grid-template-columns:72px minmax(0,1fr)}
 body .gp-product751__image{width:72px;height:80px}
}
@media(prefers-reduced-motion:reduce){body .gp-scroll750__next span{animation:none!important}}

/* 753: shared mobile/tablet finishing rules. Keep editorial heading hierarchy
   and focus/selection/error indicators; unify neutral chrome and UI weights. */
@media(max-width:896px){
 body[class]{--gp-line:#d1dfd3;--gp-line-soft:#d1dfd3;--gp-mobile-line:#d1dfd3;--gp-ui-stroke:1px solid #d1dfd3}
 body[class] :is(.gp-product-archive,.gp-knowledge-archive){--gp403-border:#d1dfd3;--gp-filter-line:#d1dfd3;--gp-filter-control:#d1dfd3}
 body[class] :is(#gp-main,.gp-hf-footer) :is(
 .gp-product-promise403,.gp-product-promise403__item,.gp-knowledge-promise,
 .gp-product-worlds,.gp-knowledge-strip,.gp-directory-toolbar,.gp-knowledge-toolbar,
 .gp-home-trust,.gp-home-trust__item,.gp-home-categories,.gp-home-editorial,
 .gp-collection-summary,.gp-collection-section-head,.gp-compare-table th,.gp-compare-table td,
 .gp-article-related,.gp-article-sources,.gp-article-source-basis,.gp-source-item,
 .gp-hf-footer-bottom,.gp-hf-footer-brand,.gp-hf-mobile-disclaimer){border-color:var(--gp-line)!important;box-shadow:none!important}
 /* The promise strip already owns the shared edge with categories. */
 body[class] #gp-main .gp-product-worlds--curated{border-top:0!important}
 body[class] :is(#gp-main,.gp-hf-footer) :is(
 .gp-product-world-chip,.gp-knowledge-topic-tile,.gp-home-category-card,.gp-home-article-card,.gp-home-product-card,
 .gp-product-loop-card,.gp-knowledge-card,.gp-collection-card,.gp-product751,
 .gp-collection-selection,.gp-collection-watch-toolbar,.gp-collection-saved-section,.gp-reading-library,
 .gp-utility-info,.gp-reading-privacy-details,.gp-newsletter-v4-card,.gp-hf-footer-col,
 .gp-directory-quick-search,.gp-directory-search,.gp-directory-option-search,.gp-directory-view-toggle,
 .gp-knowledge-search-control,.gp-home-search,.gp-newsletter-v4-form input,
 .gp-product-worlds__head-actions>button,.gp-product-worlds__head-actions>a,
 .gp-directory-mobile-filter,.gp-directory-sort select){border-color:var(--gp-line)!important;box-shadow:none!important}
 body[class] :is(#gp-main,.gp-hf-footer) :is(button,.gp-button,.gp-product-loop-button,.gp-product751__actions>a,
 .gp-home-topic-pill,.gp-home-editorial-filter,.gp-product-world-chip,.gp-product-world-chip__label,
 .gp-knowledge-topic-tile,.gp-knowledge-topic-tile__label,.gp-product-promise403__item strong,
 .gp-knowledge-promise strong,.gp-home-trust strong,.gp-product-worlds__head-actions>a,
 .gp-collection-filterbar button span,summary){font-weight:600!important}
 body[class] #gp-main :is(.gp-directory-toolbar-summary,.gp-directory-toolbar-summary *,
 .gp-knowledge-toolbar-summary,.gp-knowledge-toolbar-summary *){font-weight:400!important}
 body[class] :is(#gp-main,.gp-hf-footer) :is(input:not([type=button]):not([type=submit]),select,textarea){font-weight:400!important}
 body[class] :is(#gp-main,.gp-hf-footer) :is(input,textarea)::placeholder{font-weight:400!important;opacity:1}
 body[class] #gp-main :is(.gp-directory-sort select,.gp-directory-quick-search input,.gp-knowledge-search-control input){font-size:16px!important;line-height:1.5!important}
 body[class] #gp-main .gp-product-worlds__head{gap:12px!important;flex-wrap:wrap!important;align-items:center!important}
 body[class] #gp-main .gp-product-worlds__head h2{margin:0!important}
 body[class] #gp-main .gp-directory-mobile-bar{margin-top:20px!important;margin-bottom:16px!important}
 body[class] #gp-main .gp-directory-toolbar{padding-top:16px!important;gap:12px!important}
 body[class] #gp-main .gp-directory-toolbar-summary{line-height:1.5!important}
 /* State feedback is deliberately stronger than a neutral dividing line. */
 body[class] :is(#gp-main,.gp-hf-footer) :is(input,select,textarea,[role=combobox]):focus-visible{outline:2px solid #386685!important;outline-offset:2px!important}
 body[class] #gp-main :is(.gp-product-world-chip,.gp-knowledge-topic-tile).is-active{border-color:#57933a!important}
 body[class] #gp-main .gp-directory-mobile-filter[aria-expanded=true]{border-color:#57933a!important}
}

/* GP754: Only the mobile catalogue marks explicitly assigned staging test media.
 * The label is not part of the image and disappears on authentic gallery slides.
 * Desktop imagery/layout and its component CSS remain untouched. */
@media(max-width:896px){
  body .gp-product-archive .gp-product-loop-image[data-gp-test-image="1"]{position:relative}

  body .gp-product-archive .gp-product-loop-stock-indicator.is-stock-unknown{color:#69786e}
  body .gp-product-archive .gp-product-loop-stock-indicator.is-stock-unknown i{background:#84968b}
}

/* GP755 | Smartphone-only product directory and footer finishing pass.
 * Screenshots/QA target: 320/360/375/390/430/599 CSS px. No tablet or
 * desktop selectors, and no changes to the catalogue's filtering behaviour.
 * All spacing is governed here rather than another late CSS asset. */
@media (max-width:599px){
  /* GP756 mobile catalog shell: do not touch tablet, desktop or other pages. */
  body:has(.gp-product-archive) .gp-hf-header .gp-hf-inner{
    min-width:0;
    gap:6px;
    padding:8px 10px;
  }
  body:has(.gp-product-archive) .gp-hf-header .gp-hf-logo{
    width:clamp(148px,46vw,180px);
    max-width:100%;
    min-width:0;
  }
  body:has(.gp-product-archive) .gp-hf-header .gp-hf-actions{gap:3px}
  body:has(.gp-product-archive) .gp-hf-header .gp-hf-actions .gp-hf-action--quick,
  body:has(.gp-product-archive) .gp-hf-header .gp-hf-menu-button{
    width:clamp(38px,11vw,44px)!important;
    min-width:clamp(38px,11vw,44px)!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
  }
  body:has(.gp-product-archive) .gp-affiliate-strip__inner{
    min-width:0;
    padding:8px 12px;
    column-gap:7px;
    row-gap:2px;
    line-height:1.42;
  }
  /* 1. Compact introduction: the page heading and links should not consume
     the first screen before visitors can reach the category/search controls. */
  body #gp-main .gp-product-archive{
    --gp-archive-gutter:clamp(12px,3.35vw,16px);
    --gp-archive-line:#d5e3d8;
    --gp-loop-mobile-text:#4c6560;
  }
  body #gp-main .gp-product-archive{padding-bottom:0!important;}
  body #gp-main .gp-product-archive .gp-product-catalog-hero__inner{
    padding:17px var(--gp-archive-gutter) 18px;
  }
  body #gp-main .gp-product-archive .gp-product-catalog-hero h1{
    font-size:clamp(1.65rem,7.1vw,2rem);
    line-height:1.12;
    letter-spacing:-.03em;
    margin:0;
  }
  body #gp-main .gp-product-archive .gp-product-catalog-hero__copy > p{
    font-size:.9rem;
    line-height:1.5;
    margin:9px 0 0;
    max-width:34ch;
  }
  body #gp-main .gp-product-archive .gp-product-catalog-hero__links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
    margin-top:13px;
  }
  body #gp-main .gp-product-archive .gp-product-catalog-hero__links a{
    display:flex;
    min-height:44px;
    padding:8px 7px;
    border-radius:999px;
    font-size:clamp(.735rem,3.2vw,.83rem);
    line-height:1.25;
  }
  /* Three equal orientation cells; no extra decorative second separator. */
  body #gp-main .gp-product-archive .gp-product-promise403{
    grid-template-columns:repeat(3,minmax(0,1fr));
    padding:0 var(--gp-archive-gutter);
  }
  body #gp-main .gp-product-archive .gp-product-promise403__item{
    gap:6px;
    min-width:0;
    padding:12px 4px 11px;
  }
  body #gp-main .gp-product-archive .gp-product-promise403__icon{
    width:30px;
    height:30px;
    border-radius:9px;
  }
  body #gp-main .gp-product-archive .gp-product-promise403__item .gp-archive-compact-label{
    font-size:clamp(.64rem,2.55vw,.74rem);
    line-height:1.22;
    white-space:nowrap;
  }
  /* GP774: clearer heart label on phones only; preserve 600px+ wording. */
  body #gp-main .gp-product-archive .gp-product-promise403__item:last-child .gp-archive-compact-label{
    display:none!important;
  }
  body #gp-main .gp-product-archive .gp-product-promise403__item:last-child .gp-archive-phone-label{
    display:block!important;
    margin:0;
    color:#28574a;
    font-size:clamp(.64rem,2.55vw,.74rem);
    font-weight:770;
    line-height:1.22;
    white-space:nowrap;
  }
  /* 2. Categories with one intentional next-card peek. The horizontal rail
     remains touch-scrollable without a distracting visible scrollbar. */
  body #gp-main .gp-product-archive .gp-directory-main > .gp-product-worlds.gp-product-worlds--curated{
    padding:16px var(--gp-archive-gutter) 12px;
    margin:0!important;
  }
  body #gp-main .gp-product-archive .gp-product-worlds--curated .gp-product-worlds__head{
    display:flex;
    flex-wrap:nowrap!important;
    gap:8px!important;
    align-items:center!important;
    margin-bottom:10px;
  }
  body #gp-main .gp-product-archive .gp-product-worlds--curated .gp-product-worlds__head h2{
    min-width:0;
    font-size:clamp(1.05rem,4.35vw,1.23rem);
    line-height:1.22;
  }
  body #gp-main .gp-product-archive .gp-product-worlds__head-actions{
    flex:0 0 auto;
    max-width:56%;
  }
  body #gp-main .gp-product-archive .gp-product-worlds__head-actions :is(a,button){
    min-height:38px;
    padding:7px 11px;
    font-size:clamp(.72rem,2.8vw,.79rem);
    line-height:1.2;
    white-space:normal;
  }
  body #gp-main .gp-product-archive .gp-product-worlds--curated .gp-product-worlds__rail{
    gap:8px;
    padding:2px 0 3px;
    scrollbar-width:none;
  }
  body #gp-main .gp-product-archive .gp-product-worlds--curated .gp-product-worlds__head-actions,
  body #gp-main .gp-product-archive .gp-product-worlds--curated .gp-product-worlds__more{
    display:none!important;
  }
  body #gp-main .gp-product-archive .gp-product-worlds--curated .gp-product-worlds__rail::-webkit-scrollbar{display:none}
  body #gp-main .gp-product-archive .gp-product-worlds--curated .gp-product-world-chip{
    flex:0 0 calc(100% - 34px);
    min-width:0;
    min-height:52px;
    padding:8px 10px;
    gap:9px;
    scroll-snap-align:start;
  }
  body #gp-main .gp-product-archive .gp-product-world-chip__label{
    font-size:.82rem;
    line-height:1.3;
    font-weight:600;
  }
  /* 3. One tidy search/filter row with no cropped input at 320px. */
  body #gp-main .gp-product-archive .gp-directory-mobile-bar{
    min-width:0;
    gap:0;
    margin:0!important;
    padding:0 var(--gp-archive-gutter) 12px;
  }
  body #gp-main .gp-product-archive .gp-directory-mobile-bar__row{
    display:none!important;
  }
  body #gp-main .gp-product-archive .gp-directory-quick-search{
    min-width:0;
    width:100%;
    min-height:48px;
    padding-left:12px;
    border-radius:12px;
  }
  body #gp-main .gp-product-archive .gp-directory-quick-search input{
    min-width:0;
    font-size:16px!important;
    line-height:1.4!important;
  }
  body #gp-main .gp-product-archive .gp-directory-quick-search input::placeholder{
    font-size:.89rem;
  }
  body #gp-main .gp-product-archive .gp-directory-quick-search > button{
    flex-basis:40px;
    width:40px;
    min-width:40px;
    height:42px;
    min-height:42px;
  }
  body #gp-main .gp-product-archive .gp-directory-mobile-filter{
    min-width:78px;
    min-height:46px;
    padding:7px 10px;
    border-radius:12px;
    font-size:.84rem;
  }
  /* 4. Results, sort selector and view switch: a single, measured block. */
  body #gp-main .gp-product-archive .gp-directory-main > .gp-directory-toolbar{
    margin:0!important;
    padding:13px var(--gp-archive-gutter) 7px!important;
    gap:8px!important;
  }
  /* GP767: a hidden active-filter rail was rendered as a flex row by the
     general catalog stylesheet, leaving an invisible, empty gap below sorting.
     An opened filter rail continues to work normally. */
  body #gp-main .gp-product-archive .gp-directory-active-filters[hidden]{
    display:none!important;
    margin:0!important;
    padding:0!important;
  }
  body #gp-main .gp-product-archive .gp-directory-toolbar__top{
    /* GP766: some 540–599px layouts still inherited a two-column toolbar. */
    display:flex!important;
    flex-direction:column!important;
    gap:9px;
    align-items:stretch!important;
  }
  body #gp-main .gp-product-archive .gp-directory-toolbar-summary{
    width:100%;
    font-size:.81rem;
    line-height:1.4!important;
    color:#365b51;
  }
  body #gp-main .gp-product-archive .gp-directory-toolbar-controls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:stretch;
    gap:8px;
    width:100%;
  }
  body #gp-main .gp-product-archive .gp-directory-sort{
    min-width:0;
    width:100%;
  }
  body #gp-main .gp-product-archive .gp-directory-sort label{
    width:100%;
  }
  body #gp-main .gp-product-archive .gp-directory-sort select{
    width:100%;
    min-width:0;
    min-height:46px;
    border-radius:11px;
    font-size:16px!important;
    padding:8px 32px 8px 12px;
  }
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) .gp-directory-toolbar-filter{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-width:98px;
    min-height:46px;
    padding:8px 12px;
    border:1px solid #dde8e0!important;
    border-radius:11px!important;
    background:#f4f8f2!important;
    color:#315344!important;
    font-size:.9rem!important;
    font-weight:600!important;
    box-shadow:none!important;
  }
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) .gp-directory-toolbar-filter svg{
    width:16px;
    height:16px;
  }
  body #gp-main .gp-product-archive .gp-directory-toolbar-filter small{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:18px;
    height:18px;
    padding:0 4px;
    border-radius:999px;
    background:#89b773;
    color:#fff;
    font-size:.7rem;
    line-height:1;
  }
  body #gp-main .gp-product-archive .gp-directory-columns,
  body #gp-main .gp-product-archive .gp-directory-mobile-filter:not(.gp-directory-toolbar-filter){
    display:none!important;
  }
  /* GP765: the view switch is unnecessary on smartphones and creates
     an extra asymmetric control block. Keep it on tablet/desktop only. */
  body #gp-main .gp-product-archive .gp-directory-view-toggle{
    display:none!important;
  }
  /* 5. A phone card must have a finite media stage, consistent gutters,
     readable descriptions and a compact but tappable gallery. */
  body #gp-main .gp-product-archive .gp-product-list{
    min-height:0;
    gap:12px;
    margin:0;
    padding:9px var(--gp-archive-gutter) 8px;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view[data-gp-columns]{
    --gp-loop-card-radius:17px;
    --gp-loop-image-h:clamp(188px,57vw,218px);
    --gp-loop-gallery-h:54px;
    --gp-loop-thumb-w:44px;
    --gp-loop-thumb-h:44px;
    --gp-loop-main-pad-x:14px;
    --gp-loop-main-pad-top:13px;
    --gp-loop-commerce-pad-bottom:14px;
    --gp-loop-title-size:1.06rem;
    --gp-loop-desc-size:.89rem;
    --gp-loop-provider-height:46px;
    --gp-loop-provider-font:.91rem;
    --gp-loop-gap:12px;
    grid-template-columns:minmax(0,1fr);
  }
  body #gp-main .gp-product-archive .gp-product-loop-card{
    max-width:100%;
    border-radius:17px;
    box-shadow:none!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media{
    width:100%;
    height:calc(var(--gp-loop-image-h) + var(--gp-loop-gallery-h))!important;
    grid-template-rows:var(--gp-loop-image-h) var(--gp-loop-gallery-h);
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media.is-single-image{
    /* No gallery? Reserve only the real photo stage, not an empty thumb rail. */
    height:var(--gp-loop-image-h)!important;
    grid-template-rows:minmax(0,1fr);
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media > .gp-product-loop-image{
    width:100%;
    max-height:none;
    min-height:0;
    height:var(--gp-loop-image-h);
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media.is-single-image > .gp-product-loop-image{
    height:100%;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-image img{
    display:block;
    width:100%;
    height:100%;
    max-height:100%!important;
    padding:21px 18px 12px!important;
    object-fit:contain;
    box-sizing:border-box;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media.has-gallery .gp-product-loop-gallery-thumbs{
    height:var(--gp-loop-gallery-h);
    min-height:0;
    max-height:var(--gp-loop-gallery-h);
    padding:5px 12px;
    gap:8px;
  }
  body #gp-main .gp-product-archive .gp-product-loop-gallery-thumb{
    width:44px;
    min-width:44px;
    height:44px;
    border-radius:9px;
  }
  body #gp-main .gp-product-archive .gp-product-loop-gallery-thumb:focus-visible{
    outline:2px solid #417b5b;
    outline-offset:2px;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-chips{
    top:10px;
    left:10px;
    max-width:calc(100% - 115px)!important;
  }
  body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-top-actions{
    top:10px!important;
    right:11px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:0!important;
    width:auto!important;
    height:40px!important;
    min-height:40px!important;
    z-index:7!important;
  }
  /* 44px hit boxes with quiet 30px visual circles: accessibility without bulk. */
  body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-top-actions > .gp-product-loop-top-action{
    position:relative!important;
    flex:0 0 40px!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-top-actions > .gp-product-loop-top-action::before{
    content:"";
    position:absolute;
    inset:4px;
    border:1px solid #d6e2db;
    border-radius:50%;
    background:rgba(255,255,255,.98);
    box-shadow:0 1px 3px rgba(21,46,34,.055);
    pointer-events:none;
  }
  body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-top-actions > .gp-product-loop-top-action:is(.is-active,[aria-pressed="true"],[data-gp-selected="true"])::before{
    background:#e8f2eb;
    border-color:#9abd9f;
  }
  body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-top-actions > .gp-product-loop-top-action:hover::before{
    background:#f6faf7;
    border-color:#a7c5b4;
  }
  body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-top-actions .gp-library-button__icon{
    position:relative;
    z-index:1;
    width:17px!important;
    height:17px!important;
  }
  body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-top-actions .gp-library-button__icon svg{
    width:17px!important;
    height:17px!important;
  }
  /* GP768: keep both utility buttons visually paired and aligned to the
     same optical baseline on narrow phones. */
  body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-top-actions > .gp-product-loop-top-action + .gp-product-loop-top-action{
    margin-left:-3px!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-chips{
    max-width:calc(100% - 115px)!important;
  }
  body #gp-main .gp-product-archive .gp-product-catalog-hero__links a:nth-child(n+3){grid-column:1/-1}
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-main{
    gap:7px!important;
    padding:14px 15px 10px;
    min-height:0;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-title,
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view[data-gp-columns] .gp-product-loop-title{
    margin:0!important;
    min-height:0!important;
    max-height:none!important;
    height:auto!important;
    font-size:1.06rem!important;
    line-height:1.3!important;
    letter-spacing:-.01em;
    word-break:normal;
    overflow-wrap:break-word;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-description,
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view[data-gp-columns] .gp-product-loop-description{
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    color:var(--gp-loop-mobile-text);
    font-size:.88rem!important;
    line-height:1.5!important;
    overflow-wrap:break-word;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-facts{
    gap:5px;
    margin:5px 0 0;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-facts > div{
    min-width:0;
    padding:7px 9px;
    border-radius:9px;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce{
    gap:8px!important;
    padding:8px 14px 14px!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce-metadata{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:start;
    min-height:0;
    gap:8px!important;
  }
  body #gp-main .gp-product-archive .gp-product-loop-stock-indicator,
  body #gp-main .gp-product-archive .gp-product-loop-delivery{
    min-width:0;
    font-size:.76rem!important;
    line-height:1.35!important;
    white-space:normal;
    overflow-wrap:break-word;
  }
  /* GP759: never leave a sole delivery time stranded in column two.
     Preserve two-column alignment when a documented stock state exists. */
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce-metadata > :only-child{
    grid-column:1 / -1!important;
    justify-self:start!important;
    text-align:left!important;
  }
  /* The PHP and AJAX cards use the same compact, understandable label. */
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce-metadata > .gp-product-loop-delivery:only-child{
    justify-content:flex-start!important;
    text-align:left!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce-metadata > .gp-product-loop-delivery:only-child::before{
    content:"Lieferzeit:";
    display:inline;
    margin-right:.35em;
    font:inherit;
    color:inherit;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-main{
    padding-bottom:4px!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce{
    padding-top:4px!important;
    gap:6px!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce-metadata{
    justify-items:start;
    justify-content:start;
    margin:0!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-price{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:6px!important;
    align-items:baseline;
    margin:1px 0 2px!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-price strong{
    font-size:1.4rem!important;
    line-height:1.18!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-price .gp-product-loop-package{
    max-width:110px;
    font-size:.72rem!important;
    line-height:1.3!important;
    white-space:normal;
    overflow-wrap:break-word;
    text-align:right;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-main-actions{
    margin-top:4px!important;
  }
  body #gp-main .gp-product-archive .gp-product-loop-main-actions .gp-product-loop-button{
    min-height:46px!important;
    padding:10px 12px;
    border-radius:11px;
    font-size:.91rem!important;
    line-height:1.3;
  }
  body #gp-main .gp-product-archive .gp-product-image-placeholder{
    padding:16px;
    color:#587068;
    font-size:.84rem;
    line-height:1.45;
    text-align:center;
  }
  /* GP756: list switch keeps the same deliberate photo, content and commerce rhythm. */
  body #gp-main .gp-product-archive .gp-product-list.is-list-view[data-gp-columns]{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-card{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"image" "main" "commerce"!important;
    gap:0!important;
    padding:0!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-media{
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-image{
    height:clamp(188px,57vw,218px)!important;
    min-height:0!important;
    max-height:none!important;
    border-radius:0!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-image img{
    max-height:100%!important;
    padding:21px 18px 12px!important;
    object-fit:contain;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-gallery-thumbs{
    min-height:54px!important;
    padding:5px 12px!important;
    gap:8px!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-main{
    min-width:0!important;
    padding:13px 14px 9px!important;
    gap:7px!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-title{
    font-size:1.06rem!important;
    line-height:1.3!important;
    max-height:none!important;
    min-height:0!important;
    overflow-wrap:break-word;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-description{
    font-size:.88rem!important;
    line-height:1.5!important;
    min-height:0!important;
    max-height:none!important;
    -webkit-line-clamp:unset!important;
    line-clamp:unset!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-commerce{
    display:flex!important;
    flex-direction:column!important;
    grid-template-areas:none!important;
    min-width:0!important;
    gap:8px!important;
    margin:0!important;
    padding:8px 14px 14px!important;
    border:0!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-commerce-metadata > :only-child{
    margin-right:auto;
    text-align:left;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-commerce-metadata{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    min-height:0!important;
    align-items:start!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-price{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:baseline!important;
    gap:6px!important;
    min-height:0!important;
    text-align:left!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-price strong{
    font-size:1.4rem!important;
    line-height:1.18!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-package{
    max-width:110px!important;
    text-align:right!important;
    white-space:normal!important;
    font-size:.72rem!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-main-actions{
    display:block!important;
    width:100%!important;
    margin:2px 0 0!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-main-actions .gp-product-loop-button{
    width:100%!important;
    min-height:46px!important;
    border-radius:11px!important;
    font-size:.91rem!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-facts{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-facts > div{
    min-height:0!important;
    padding:7px 9px!important;
  }
  /* The sticky/staged gallery must stay within the card in both layouts. */
  body #gp-main .gp-product-archive .gp-product-loop-gallery-rail,
  body #gp-main .gp-product-archive .gp-product-loop-gallery-thumbs{
    max-width:100%;
    min-width:0;
  }

  body #gp-main .gp-product-archive .gp-directory-layout{
    padding-bottom:0!important;
  }
  /* The global section gap otherwise makes a separate white band below
     the pagination. Keep its spacing within the catalogue alone. */
  body:has(.gp-product-archive) main#gp-main.gp-directory-main-page{
    min-height:0!important;
    padding-bottom:0!important;
  }
  /* GP758: on phones, keep the catalogue-to-footer boundary clean. The
     footer itself already begins the pale-green newsletter surface. */
  body:has(.gp-product-archive) .gp-hf-footer{
    border-top:0!important;
    box-shadow:none!important;
  }

  body:has(.gp-product-archive) .gp-hf-footer .gp-hf-footer-col{
    margin-bottom:10px;
    border-radius:15px;
  }
  body:has(.gp-product-archive) .gp-hf-footer .gp-hf-footer-col-toggle{
    min-height:52px;
    padding:8px 12px;
  }
  /* GP762: the media wrapper must occupy the explicitly named IMAGE row.
     Without grid-area:image, some phone layouts auto-place the media in an
     implicit row and overlap/crop the title under the image boundary. */
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) .gp-product-loop-card{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"image" "main" "commerce"!important;
    grid-template-rows:auto auto auto!important;
    align-content:start!important;
  }
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) .gp-product-loop-media{
    grid-area:image!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
  }
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) .gp-product-loop-main{
    grid-area:main!important;
    position:relative;
    z-index:1;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) .gp-product-loop-title{
    display:block!important;
    position:static!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    -webkit-line-clamp:unset!important;
    line-clamp:unset!important;
    padding:0!important;
    margin:0!important;
  }
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) .gp-product-loop-commerce{
    grid-area:commerce!important;
    position:relative;
    z-index:1;
    min-height:0!important;
  }
  /* GP765: keep the same vertical breathing room below pagination, but let
     that space belong visually to the footer/newsletter surface instead of a
     white archive strip. */
  body #gp-main .gp-product-archive{
    padding-bottom:0!important;
    background-color:#f8fbf8;
  }

  body:has(.gp-product-archive) .gp-hf-footer{
    margin-top:0!important;
    border-top:0!important;
    background:#eef5ef!important;
  }

  /* GP764 Pass 2: several older card styles still force the image link to
     span two media grid rows. On phones this makes the picture overlay the
     beginning of the title even when the wrapper has a smaller height.
     Set the single-image stage to one non-grid row; only real galleries use
     two explicit rows. No desktop or tablet rules are changed. */
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media.is-single-image{
    display:block!important;
    height:var(--gp-loop-image-h)!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media.is-single-image > .gp-product-loop-image{
    display:grid!important;
    grid-area:auto!important;
    grid-row:auto!important;
    grid-column:auto!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media.has-gallery{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:var(--gp-loop-image-h) var(--gp-loop-gallery-h)!important;
    height:calc(var(--gp-loop-image-h) + var(--gp-loop-gallery-h))!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media.has-gallery > .gp-product-loop-image{
    grid-area:1 / 1 / 2 / 2!important;
    height:var(--gp-loop-image-h)!important;
    min-height:0!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media.has-gallery > .gp-product-loop-gallery-thumbs{
    grid-area:2 / 1 / 3 / 2!important;
  }

  /* GP764 Pass 1: the category chip is absolute relative to the whole card,
     not the content panel. The old position:relative on .gp-product-loop-main
     was making the chip obscure the product title on 360px screens. */
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) .gp-product-loop-card{
    position:relative!important;
  }
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) .gp-product-loop-main{
    position:static!important;
    z-index:auto!important;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-chips,
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view[data-gp-columns] .gp-product-loop-chips{
    position:absolute!important;
    top:16px!important;
    left:12px!important;
    z-index:5!important;
    width:auto!important;
    max-width:calc(100% - 124px)!important;
    margin:0!important;
    pointer-events:none;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-chip{
    max-width:100%!important;
    padding:5px 8px!important;
    min-height:27px!important;
    font-size:10px!important;
    line-height:1.25!important;
    text-overflow:ellipsis!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    pointer-events:auto;
  }
  body #gp-main .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-chips{
    position:absolute!important;
    top:16px!important;
    left:12px!important;
    z-index:5!important;
    width:auto!important;
    max-width:calc(100% - 124px)!important;
    margin:0!important;
  }

  /* GP781: knowledge uses the same single separator and baseline geometry
     as the product archive; avoid a double border and clipped descenders. */
  body #gp-main .gp-knowledge-archive .gp-knowledge-strip{
    border-top:0!important;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-promise__item{
    padding:12px 4px 11px!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body #gp-main :is(
    .gp-knowledge-archive .gp-knowledge-promise__item .gp-archive-compact-label,
    .gp-product-archive .gp-product-promise403__item .gp-archive-compact-label,
    .gp-product-archive .gp-product-promise403__item .gp-archive-phone-label
  ){
    line-height:1.42!important;
    padding-bottom:1px!important;
    overflow:visible!important;
  }
  /* Both mobile archive search controls keep consistent visible input height,
     inner button division and comfortable descender clearance. */
  body #gp-main :is(
    .gp-knowledge-archive .gp-knowledge-quick-search,
    .gp-product-archive .gp-directory-quick-search
  ){
    box-sizing:border-box;
    min-height:48px!important;
    border:1px solid #d1dfd3!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-quick-search input{
    min-width:0;
    height:46px!important;
    min-height:46px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    line-height:1.5!important;
    caret-color:#4a8065;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-quick-search > button{
    width:40px!important;
    height:42px!important;
    min-width:40px!important;
    min-height:42px!important;
    border-left:1px solid #e4ece6!important;
  }

  /* Keyboard access stays visible on light mobile surfaces. */

  /* GP760: keep cards clean when a product truly has no public image yet,
     and remove the last stray white band between catalogue pagination and footer. */
  body #gp-main .gp-product-archive .gp-product-loop-image,
  body #gp-main .gp-product-archive .gp-product-loop-main,
  body #gp-main .gp-product-archive .gp-product-loop-commerce,
  body #gp-main .gp-product-archive .gp-product-loop-title,
  body #gp-main .gp-product-archive .gp-product-loop-title a{
    min-width:0;
    overflow-wrap:break-word;
  }
  body #gp-main .gp-product-archive .gp-product-image-placeholder{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    height:100%;
    padding:18px 16px;
    box-sizing:border-box;
  }
  body #gp-main .gp-product-archive .gp-product-image-placeholder strong{
    display:block;
    max-width:18ch;
    margin:0 auto;
    font-size:.84rem;
    line-height:1.42;
    text-wrap:balance;
  }
  body #gp-main .gp-product-archive :is(.gp-directory-layout,.gp-directory-main,.gp-product-list){
    margin-bottom:0!important;
    padding-bottom:0!important;
  }

  body #gp-main .gp-product-archive :is(button,a,select,input):focus-visible{
    outline:2px solid #326b4b;
    outline-offset:2px;
  }
  /* 772: products and knowledge archives share one calmer mobile system. */
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) :is(.gp-product-worlds__more,.gp-knowledge-strip__head .gp-product-worlds__more){
    display:none!important;
  }
  body #gp-main .gp-product-archive [data-gp-world-extra][hidden]{
    display:inline-flex!important;
  }
  body #gp-main .gp-knowledge-archive [data-gp-world-extra][hidden]{
    display:grid!important;
  }
  body #gp-main .gp-knowledge-archive .gp-directory-mobile-bar--knowledge{
    display:block!important;
    margin:0!important;
    /* Same breathing room between search and results as the product archive. */
    padding:0 var(--gp-archive-gutter) 12px!important;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-quick-search{
    min-width:0;
    width:100%;
    min-height:48px;
    padding-left:12px;
    border-radius:12px;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-quick-search input{
    min-width:0;
    font-size:16px!important;
    line-height:1.4!important;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-quick-search input::placeholder{
    font-size:.89rem;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-quick-search > button{
    flex-basis:40px;
    width:40px;
    min-width:40px;
    height:42px;
    min-height:42px;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-results{
    padding:0!important;
    background:transparent!important;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-toolbar{
    margin:0!important;
    padding:13px var(--gp-archive-gutter) 7px!important;
    gap:8px!important;
    border-bottom:0!important;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-toolbar-summary{
    width:100%;
    font-size:.81rem!important;
    line-height:1.4!important;
    color:#365b51!important;
    white-space:normal!important;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-toolbar-controls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-sort,
  body #gp-main .gp-knowledge-archive .gp-knowledge-sort label{
    min-width:0;
    width:100%!important;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-sort select{
    width:100%!important;
    min-width:0;
    min-height:46px;
    border-radius:11px;
    font-size:16px!important;
    padding:8px 32px 8px 12px;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-toolbar-filter{
    display:inline-flex!important;
  }
  body #gp-main .gp-knowledge-archive .gp-directory-mobile-bar .gp-directory-mobile-filter{
    display:none!important;
  }
  body #gp-main .gp-knowledge-archive .gp-directory-mobile-bar > [data-gp-mobile-result-count]{
    display:none!important;
  }
  body #gp-main .gp-product-archive :is(.gp-product-list.is-grid-view,.gp-product-list.is-list-view) .gp-product-loop-commerce-metadata{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(88px,112px)!important;
    gap:8px 10px!important;
    align-items:end!important;
  }
  body #gp-main .gp-product-archive :is(.gp-product-list.is-grid-view,.gp-product-list.is-list-view) .gp-product-loop-stock-indicator{
    justify-self:start!important;
    align-self:end!important;
  }
  body #gp-main .gp-product-archive :is(.gp-product-list.is-grid-view,.gp-product-list.is-list-view) .gp-product-loop-delivery{
    justify-self:end!important;
    align-self:end!important;
    width:100%!important;
    text-align:right!important;
    justify-content:flex-end!important;
    line-height:1.26!important;
  }
  body #gp-main .gp-product-archive :is(.gp-product-list.is-grid-view,.gp-product-list.is-list-view) .gp-product-loop-price{
    grid-template-columns:minmax(0,1fr) minmax(88px,112px)!important;
    align-items:end!important;
  }
  body #gp-main .gp-product-archive :is(.gp-product-list.is-grid-view,.gp-product-list.is-list-view) .gp-product-loop-package{
    width:100%!important;
    max-width:none!important;
    justify-self:end!important;
    align-self:end!important;
    text-align:right!important;
    line-height:1.22!important;
  }
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive){
    padding-bottom:0!important;
    background-color:#f8fbf8;
  }

  body:has(.gp-product-archive) .gp-hf-footer,
  body:has(.gp-knowledge-archive) .gp-hf-footer{
    border-top:0!important;
    box-shadow:none!important;
    margin-top:0!important;
  }

}

/* GP756: three priority header controls on narrow catalogue phones.
 * On wider phones the library/compare shortcuts remain available. */
@media (max-width:429px){
  body:has(.gp-product-archive) .gp-hf-header .gp-hf-actions .gp-library-header-actions{
    display:none!important;
  }
}


/* Archive components: one shared responsive definition, desktop excluded. */
@media (max-width:896px){
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive){
    --gp-archive-gutter:clamp(16px,3vw,24px);
    padding-bottom:0!important;
    background-color:#f8fbf8;
  }
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive)::after{content:none!important;display:none!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) main#gp-main{padding-bottom:0!important;min-height:0!important}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) :is(.gp-directory-layout,.gp-directory-main,.gp-knowledge-results){padding-bottom:0!important;margin-bottom:0!important}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) :is(.gp-product-pagination,.gp-product-client-pagination,.gp-knowledge-pagination,.gp-knowledge-client-pagination){
    box-sizing:border-box;display:flex;align-items:center;justify-content:center;
    width:100%;gap:8px!important;margin:0!important;padding:24px var(--gp-archive-gutter)!important;
    flex-wrap:nowrap;
  }
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) :is(.gp-product-pagination,.gp-product-client-pagination,.gp-knowledge-pagination,.gp-knowledge-client-pagination)[hidden]{display:none!important}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) :is(.gp-pagination-pages,.gp-product-pagination__inner){display:flex;justify-content:center;align-items:center;gap:8px!important;margin:0;padding:0;flex-wrap:nowrap}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) .gp-pagination-ellipsis{height:44px!important;line-height:1!important}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) :is(.gp-pagination-page,.gp-pagination-control){
    box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
    min-width:44px!important;min-height:44px!important;height:44px!important;
    margin:0!important;padding:0 12px!important;border-radius:10px!important;font-weight:500!important;line-height:1!important;box-shadow:none!important;
  }
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) :is(.gp-product-list,.gp-knowledge-grid){margin-bottom:0!important;padding-bottom:0!important;gap:16px!important}
  body #gp-main .gp-knowledge-archive .gp-knowledge-grid{box-sizing:border-box;width:100%!important;padding:16px var(--gp-archive-gutter) 0!important}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) :is(.gp-product-catalog-hero__inner,.gp-knowledge-hero__inner){padding:24px var(--gp-archive-gutter)!important}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) :is(.gp-product-catalog-hero,.gp-knowledge-hero) h1{font-size:clamp(25px,6.3vw,34px)!important;font-weight:600!important;line-height:1.18!important;letter-spacing:-.025em!important;margin:0!important;text-wrap:balance}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) .gp-archive-mobile-intro{font-size:15px!important;font-weight:400!important;line-height:1.6!important;margin:12px 0 0!important;max-width:48ch!important}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) :is(.gp-product-catalog-hero__links,.gp-knowledge-hero__links){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:20px!important}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) :is(.gp-product-catalog-hero__links,.gp-knowledge-hero__links) a{min-height:46px!important;padding:10px 8px!important;font-size:13px!important;line-height:1.35!important;font-weight:600!important;box-shadow:none!important}
  body #gp-main .gp-knowledge-archive .gp-knowledge-strip__head{display:flex!important;align-items:center!important;width:100%!important}
  body #gp-main :is(.gp-product-worlds__head,.gp-knowledge-strip__head) h2{width:auto!important;max-width:none!important;flex:1 1 auto;font-size:20px!important;font-weight:600!important;line-height:1.3!important;margin:0!important;text-wrap:normal!important}
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) :is(.gp-product-loop-title,.gp-product-loop-title a){max-width:none!important;width:auto!important;font-size:17px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:0!important;text-wrap:pretty!important}
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) .gp-product-loop-description{font-size:14px!important;font-weight:400!important;line-height:1.6!important;color:#50645e!important}
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) .gp-product-loop-price strong{font-size:22px!important;font-weight:600!important;line-height:1.25!important}
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) :is(.gp-product-loop-package,.gp-product-loop-delivery,.gp-product-loop-stock-indicator){font-size:12px!important;font-weight:400!important;line-height:1.4!important}
  body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-chip{font-weight:500!important}
  body #gp-main .gp-knowledge-archive .gp-knowledge-grid .gp-home-article-card{border-radius:16px!important;border:1px solid #d1dfd3!important;box-shadow:none!important;overflow:hidden}
  body #gp-main .gp-knowledge-archive .gp-knowledge-grid .gp-home-article-card__body{padding:16px!important;gap:10px!important}
  body #gp-main .gp-knowledge-archive .gp-knowledge-grid .gp-home-article-card h3,
  body #gp-main .gp-knowledge-archive .gp-knowledge-grid .gp-home-article-card h3 a{font-size:17px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:0!important;text-wrap:pretty!important;margin:0!important}
  body #gp-main .gp-knowledge-archive .gp-knowledge-grid .gp-home-article-card__body>p{font-size:14px!important;font-weight:400!important;line-height:1.6!important;margin:0!important;color:#50645e!important}
  body #gp-main .gp-knowledge-archive .gp-knowledge-grid .gp-home-article-topic{font-size:12px!important;font-weight:500!important;line-height:1.4!important;margin:0!important;min-height:0!important}
  body #gp-main .gp-knowledge-archive .gp-knowledge-grid .gp-home-article-card__footer{padding-top:0!important;margin-top:2px!important;gap:12px!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer{margin-top:0!important;border-top:1px solid #d1dfd3!important;background:#eef5ef!important;box-shadow:none!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-hf-footer-inner{width:calc(100% - 32px)!important;max-width:720px!important;padding-top:24px!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4{margin:0 0 20px!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-card{padding:20px!important;border-radius:16px!important;background:#f8fbf8!important;box-shadow:none!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"copy" "form"!important;gap:16px!important;align-items:start!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-icon{display:none!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-copy{grid-area:copy!important;min-width:0!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-title{margin:0 0 8px!important;font-size:20px!important;font-weight:600!important;line-height:1.3!important;letter-spacing:-.01em!important;text-wrap:balance}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-text{margin:0!important;font-size:14px!important;font-weight:400!important;line-height:1.6!important;color:#50645e!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-form{grid-area:form!important;min-width:0!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer :is(.gp-newsletter-v4-input,.gp-newsletter-v4-button){box-sizing:border-box;width:100%!important;min-width:0!important;min-height:48px!important;height:auto!important;padding:12px!important;border-radius:10px!important;line-height:1.4!important;box-shadow:none!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-button{font-size:14px!important;font-weight:600!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-privacy{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:12px 0 0!important;font-size:12px!important;line-height:1.6!important;font-weight:400!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-privacy a{font-weight:500!important;white-space:normal!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-privacy input{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0!important}
  .gp-archive-mobile-intro .gp-copy-compact,.gp-archive-mobile-intro .gp-copy-tablet-intro{display:none}
}
@media(max-width:599px){
  body #gp-main .gp-product-archive .gp-product-list{padding:16px var(--gp-archive-gutter) 0!important}
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) .gp-product-loop-main{padding:16px 16px 12px!important;gap:10px!important}
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) .gp-product-loop-commerce{padding:0 16px 16px!important;gap:12px!important}
  body #gp-main .gp-product-archive .gp-product-list:is(.is-grid-view,.is-list-view) .gp-product-loop-main-actions{margin:0!important}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) .gp-pagination-control{width:44px!important;padding:0!important;font-size:0!important}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) .gp-pagination-control::after{content:"";display:block;width:17px;height:17px;background:currentColor;-webkit-mask:var(--gp-pagination-arrow) center/contain no-repeat;mask:var(--gp-pagination-arrow) center/contain no-repeat}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) .gp-pagination-control--prev::after{transform:rotate(180deg)}
}
@media(max-width:374px){
  .gp-archive-mobile-intro .gp-copy-phone{display:none}
  .gp-archive-mobile-intro .gp-copy-compact{display:inline}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) :is(.gp-product-catalog-hero__links,.gp-knowledge-hero__links){grid-template-columns:minmax(0,1fr)!important}
}
@media(min-width:600px) and (max-width:896px){
  .gp-archive-mobile-intro .gp-copy-phone{display:none}
  .gp-archive-mobile-intro .gp-copy-tablet-intro{display:inline}
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) .gp-archive-mobile-intro{font-size:16px!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-card{padding:24px!important}
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-row{grid-template-columns:minmax(0,1fr) auto!important}
}

/* Mobile newsletter copy: preserve the original text at 600–720px.
   Only phones <=599px receive the slightly longer editorial copy. */
.gp-newsletter-copy-phone{display:none!important}
/* GP776: one mobile category rail system; no additional asset files. */
.gp-category-swipe-hint{display:none}
@media(max-width:599px){
  body #gp-main :is(.gp-product-archive .gp-product-worlds--curated,.gp-knowledge-archive .gp-knowledge-strip){position:relative}
  body #gp-main :is(.gp-product-archive .gp-product-worlds__rail,.gp-knowledge-archive .gp-knowledge-strip__chips){
    display:flex!important;flex-wrap:nowrap!important;
    overflow-x:auto!important;overflow-y:hidden!important;
    scroll-snap-type:none!important;scrollbar-width:none;
    overscroll-behavior-x:contain;
    touch-action:auto;
  }
  body #gp-main :is(.gp-product-archive .gp-product-worlds__rail,.gp-knowledge-archive .gp-knowledge-strip__chips).is-dragging{
    cursor:grabbing!important;scroll-snap-type:none!important;user-select:none!important;
  }
  body #gp-main :is(.gp-product-archive .gp-product-world-chip,.gp-knowledge-archive .gp-knowledge-topic-tile){
    flex:0 0 calc(100% - 34px);scroll-snap-align:none;
    -webkit-user-drag:none;
  }
  body #gp-main .gp-category-swipe-hint.is-available:not(.is-interacting){
    position:absolute;right:7px;display:grid;place-items:center;
    width:44px;height:44px;z-index:4;pointer-events:none;
    color:#39745e;opacity:0;
    transform:translate(9px,-50%);
    animation:gp-category-swipe-776 3s ease-in-out infinite;
  }
  body #gp-main .gp-category-swipe-hint svg{
    display:block;width:34px;height:30px;
    filter:drop-shadow(0 1px 1px rgba(255,255,255,.72));
  }
  body #gp-main .gp-category-swipe-hint .gp-swipe-trail{
    fill:none;stroke:currentColor;stroke-width:1.8;
    stroke-linecap:round;opacity:.48;
  }
  body #gp-main .gp-category-swipe-hint .gp-swipe-arrow{
    fill:none;stroke:currentColor;stroke-width:2.2;
    stroke-linecap:round;stroke-linejoin:round;
  }
  body .gp-hf-footer .gp-newsletter-copy-phone{
    display:inline!important;
  }
  body .gp-hf-footer .gp-newsletter-copy-small-tablet{
    display:none!important;
  }
  body .gp-hf-footer .gp-newsletter-v4-text .gp-unbroken-word{
    white-space:nowrap!important;
    hyphens:none!important;
  }
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-newsletter-v4-text{
    max-width:34ch!important;
    font-size:14px!important;
    line-height:1.52!important;
    text-wrap:pretty!important;
  }
  body #gp-main .gp-product-archive .gp-product-list{
    padding:6px var(--gp-archive-gutter) 8px!important;
    gap:12px!important;
  }
  body #gp-main .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query]{
    appearance:none!important;
    -webkit-appearance:none!important;
    -moz-appearance:textfield!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  body #gp-main .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query]::-webkit-search-decoration,
  body #gp-main .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query]::-webkit-search-cancel-button,
  body #gp-main .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query]::-webkit-search-results-button,
  body #gp-main .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query]::-webkit-search-results-decoration{
    -webkit-appearance:none!important;
    display:none!important;
  }
  body #gp-main .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query]::-ms-clear,
  body #gp-main .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query]::-ms-reveal{
    display:none!important;
    width:0!important;
    height:0!important;
  }
  /* GP779: tighten and normalize archive rhythm on phones.
     Footer spacing, active filter spacing and result spacing now follow
     one measured system so equal transitions also look equal. */
  body #gp-main .gp-product-archive .gp-directory-main,
  body #gp-main .gp-knowledge-archive .gp-knowledge-results{
    box-sizing:border-box; padding-bottom:16px!important;
  }
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive)::after{
    content:""!important;display:block!important;
    height:12px!important;background:#eef5ef!important;
  }
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer .gp-hf-footer-inner{
    padding-top:12px!important;
  }
  /* GP780: active filters belong visually to the sort bar; keep the
     first card aligned with the archive gutters without a tall empty rail. */
  body #gp-main .gp-product-archive .gp-directory-main > .gp-directory-toolbar{
    padding:12px var(--gp-archive-gutter) 4px!important;
    gap:7px!important;
  }
  /* Both archive types keep one stable header logo width in the phone range. */
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-header .gp-hf-logo{
    width:clamp(148px,46vw,180px)!important;max-width:100%!important;
  }
  body:has(:is(.gp-product-archive,.gp-knowledge-archive)) .gp-hf-footer{
    border-top:0!important;
  }
  /* Balance text in natural, complete words; never split "E-Mail". */
  body .gp-hf-footer .gp-newsletter-v4-title,
  body .gp-hf-footer .gp-newsletter-v4-text,
  body #gp-main :is(.gp-product-archive,.gp-knowledge-archive) :is(.gp-archive-original-intro,.gp-archive-mobile-intro){
    hyphens:none!important;word-break:normal!important;
    overflow-wrap:normal!important;text-wrap:balance!important;
  }
  /* GP783: mobile archive search fields use one shared focus state without
     the browser's dark search outline, and the active-filter area adopts the
     same calmer card rhythm on both archive types. */
  body #gp-main :is(
    .gp-product-archive .gp-directory-quick-search,
    .gp-knowledge-archive .gp-knowledge-quick-search
  ){
    transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
  }
  body #gp-main :is(
    .gp-product-archive .gp-directory-quick-search,
    .gp-knowledge-archive .gp-knowledge-quick-search
  ):focus-within{
    border-color:#84a88d!important;
    box-shadow:0 0 0 3px rgba(97,161,67,.14)!important;
  }
  body #gp-main :is(
    .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query],
    .gp-knowledge-archive .gp-knowledge-quick-search input[data-gp-knowledge-quick-query]
  ){
    appearance:none!important;
    -webkit-appearance:none!important;
    -moz-appearance:textfield!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  body #gp-main :is(
    .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query],
    .gp-knowledge-archive .gp-knowledge-quick-search input[data-gp-knowledge-quick-query]
  ):is(:focus,:focus-visible){
    outline:0!important;
    box-shadow:none!important;
  }
  body #gp-main :is(
    .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query],
    .gp-knowledge-archive .gp-knowledge-quick-search input[data-gp-knowledge-quick-query]
  )::-webkit-search-decoration,
  body #gp-main :is(
    .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query],
    .gp-knowledge-archive .gp-knowledge-quick-search input[data-gp-knowledge-quick-query]
  )::-webkit-search-cancel-button,
  body #gp-main :is(
    .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query],
    .gp-knowledge-archive .gp-knowledge-quick-search input[data-gp-knowledge-quick-query]
  )::-webkit-search-results-button,
  body #gp-main :is(
    .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query],
    .gp-knowledge-archive .gp-knowledge-quick-search input[data-gp-knowledge-quick-query]
  )::-webkit-search-results-decoration{
    -webkit-appearance:none!important;
    display:none!important;
  }
  body #gp-main :is(
    .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query],
    .gp-knowledge-archive .gp-knowledge-quick-search input[data-gp-knowledge-quick-query]
  )::-ms-clear,
  body #gp-main :is(
    .gp-product-archive :is(.gp-directory-search,.gp-directory-quick-search) input[data-gp-product-query],
    .gp-knowledge-archive .gp-knowledge-quick-search input[data-gp-knowledge-quick-query]
  )::-ms-reveal{
    display:none!important;
    width:0!important;
    height:0!important;
  }
  /* GP784: compact filter summary shared by both phone archives.
     The desktop sidebars and archive toolbars have no changed rules. */
  body #gp-main :is(
    .gp-knowledge-archive .gp-knowledge-active-filters,
    .gp-product-archive .gp-directory-active-filters
  ):not([hidden]){
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    align-content:start!important;
    width:auto!important;
    max-width:none!important;
    gap:7px 9px!important;
    overflow:visible!important;
    padding:10px 12px!important;
    margin:8px var(--gp-archive-gutter) 12px!important;
    border:1px solid #dbe6dd!important;
    border-radius:14px!important;
    background:#f8fbf8!important;
    box-shadow:none!important;
  }
  body #gp-main :is(
    .gp-knowledge-archive .gp-knowledge-active-filters__label,
    .gp-product-archive .gp-directory-active-filters__label
  ){
    display:block!important;
    flex:0 0 100%!important;
    width:100%!important;
    margin:0!important;
    color:#60786a!important;
    font-size:.75rem!important;
    font-weight:800!important;
    line-height:1.4!important;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-active-filters__chips{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:7px!important;
    min-width:0!important;
  }
  body #gp-main :is(
    .gp-knowledge-archive .gp-knowledge-active-chip,
    .gp-product-archive .gp-directory-active-filter
  ){
    min-height:38px!important;
    padding:6px 11px!important;
    border:1px solid #d7e3da!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#2d584a!important;
    font-size:.79rem!important;
    font-weight:740!important;
    line-height:1.4!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
  body #gp-main :is(
    .gp-knowledge-archive .gp-knowledge-active-reset,
    .gp-product-archive .gp-directory-active-filter--reset
  ){
    display:inline-flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    min-height:38px!important;
    margin:0!important;
    padding:0 3px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#2d6a4d!important;
    font-size:.79rem!important;
    font-weight:760!important;
    text-decoration:none!important;
    box-shadow:none!important;
  }
  /* The product toolbar already has its own outer gutter. */
  body #gp-main .gp-product-archive .gp-directory-active-filters:not([hidden]){
    margin-inline:0!important;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-open-topic:not([hidden]){
    display:inline-flex!important;
    align-items:center!important;
    flex:0 0 100%!important;
    width:auto!important;
    min-height:26px!important;
    margin:0!important;
    padding:1px 2px 0!important;
    color:#2d6a4d!important;
    font-size:.79rem!important;
    line-height:1.35!important;
    text-decoration:none!important;
  }
  body #gp-main .gp-knowledge-archive .gp-knowledge-open-topic[hidden]{display:none!important;}
  @keyframes gp-category-swipe-776{
    0%,5%,33%,100%{opacity:0;transform:translate(9px,-50%)}
    10%,20%{opacity:.72;transform:translate(-2px,-50%)}
    29%{opacity:0;transform:translate(-10px,-50%)}
  }
}
@media(prefers-reduced-motion:reduce){
  .gp-category-swipe-hint{display:none!important;animation:none!important}
}
