/* compact layout + shared header lockup (contract COMPACT_LAYOUT_AND_HEADER_002) */
.brand img,.logo-link img{width:224px!important;height:auto!important}
.brand,.logo-link{padding:8px 0!important}
@media(max-width:900px){.brand img,.logo-link img{width:190px!important}}
@media(max-width:480px){.brand img,.logo-link img{width:184px!important}.brand,.logo-link{padding:7px 0!important}}
.pagehero,.producthero{padding:26px 0 22px!important}.pagehero h1,.producthero h1{font-size:32px!important;line-height:1.15!important}
.pagehero .lead,.pagehero p{margin-top:10px}
.sf-v2 .sf-intro{padding:26px 0 20px!important}.sf-v2 .sf-intro h1{font-size:32px;line-height:1.15;margin:0 0 10px}
.section{padding-top:28px!important;padding-bottom:28px!important}
h2[data-copy-key="corporate.by_platform"]{display:none!important}
.section h2[id]{font-size:24px;line-height:1.25;margin:0 0 16px}
.sf-v2 .sf-group{padding:26px 0 6px!important}.sf-v2 .sf-group h2{font-size:24px;line-height:1.25;margin:0 0 14px}
.cards,.sf-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;align-items:start!important}
@media(max-width:1099px){.cards,.sf-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:699px){.cards,.sf-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}}
.sf-card{padding:18px 20px!important;gap:10px!important;min-height:0!important;height:auto!important}
.pcard{padding:18px 20px!important;min-height:0!important;height:auto!important}
@media(max-width:699px){.sf-card,.pcard{padding:16px!important}}
.sf-card h3,.pcard h2,.pcard h3{font-size:19px!important;line-height:1.3!important}
.sf-card p,.pcard .pdesc{font-size:15px;line-height:1.5}
.sf-card .sf-card-footer{margin-top:0!important;padding-top:4px!important;gap:8px!important}
.pcard .pfoot{margin-top:12px}.pcard .price{margin:10px 0 0}
.pcard-head{gap:0}
.pcard{align-self:start!important}.pcard .pfoot{margin-top:14px!important;padding-top:0!important;border-top:0!important}
.sf-brandrow{background:none!important;border:0!important;padding:0!important;gap:6px 20px!important;min-height:0;flex-direction:row!important;flex-wrap:wrap;align-items:center}
.sf-card .sf-brandrow{flex-direction:row!important}.pcard>.sf-brandrow{margin:0 0 10px}
.sf-brandlabel{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sf-brandgrp{gap:0!important}
.sf-brandgrp+.sf-brandgrp{border-left:1px solid #dbe6ef!important;padding-left:20px!important}
.sf-brand-interoperia{height:25px!important;width:auto!important}
.sf-brand-partner{height:auto!important;max-height:34px!important;width:auto!important}
.sf-brand-partner[src*="swedbankpay"]{height:34px!important}.sf-brand-partner[src*="paypal"]{height:30px!important}.sf-brand-partner[src*="stripe"]{height:30px!important}.sf-brand-partner[src*="everypay"]{height:28px!important}
.pcard .price{flex-grow:0!important}
.pcard .price{flex:0 0 auto!important;min-height:0!important;height:auto!important}
.sf-nexus-link{margin:4px 0 0;font-size:14px;font-weight:600}.sf-nexus-link a{text-decoration:underline;text-underline-offset:3px}
.sf-brand-partner[src*="omniva"]{height:28px!important}.sf-brand-partner[src*="dpd-official"]{height:36px!important}.sf-brand-partner[src*="coingate"]{height:26px!important}.sf-brand-partner[src*="paysera"]{height:30px!important}
@media(max-width:1050px){.sf-v2 .sf-product-grid{grid-template-columns:minmax(0,1fr)!important}}
.sf-v2 .sf-product-grid>*{min-width:0}.sf-v2 h1,.sf-v2 .sf-lead,.sf-v2 .sf-purchase p{overflow-wrap:anywhere}
.pcard>.sf-brandrow{display:flex!important;flex-wrap:nowrap!important}.cards+h2[id],.sf-grid+h2[id]{margin-top:34px!important}

/* Language menu containment (owner defect 2026-10-17): on small screens anchor the panel to the sticky header, keep it inside the viewport with 12px gutters and let it scroll when the viewport is short. */
@media(max-width:720px){
.header .langs{position:static!important}
.header .langs .langpanel{position:absolute!important;left:12px!important;right:12px!important;top:calc(100% + 8px)!important;width:auto!important;max-width:none!important;box-sizing:border-box;max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
}

/* Shared card rows (owner layout correction 2026-10-17): equal-height rows, action pinned to the bottom of every card, content-driven height, natural height on mobile. Replaces the earlier global align-items:start / margin-top:0 / align-self:start rules. */
.cards,.sf-grid{align-items:stretch!important}
.pcard,.sf-card{display:flex!important;flex-direction:column;align-self:stretch!important;height:auto!important}
.pcard .pfoot{margin-top:auto!important;padding-top:14px!important}
.pcard>a.primary{margin-top:auto!important}
.sf-card .sf-card-footer{margin-top:auto!important}

/* Information-card pages (HumanProof Lite / Pro): a long list card beside two short cards - the long card spans two rows and the short cards stack beside it, so no blank column. */
@media(min-width:700px){
.cards:has(>.pcard#hp-what-checks ul>li:nth-child(6)){grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)!important}
.cards:has(>.pcard#hp-what-checks ul>li:nth-child(3):last-child){grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)!important}
.cards:has(>.pcard#hp-what-checks ul>li:nth-child(3)){grid-auto-flow:row}
.cards:has(>.pcard#hp-what-checks ul>li:nth-child(3))>.pcard:first-child{grid-row:span 2}
}

/* One brand-row standard (owner 2026-10-17): Interoperia left half, original service logo centred in the right half; identical two-field geometry on every integration card and detail heading. */
body .sf-brandrow:has(.sf-brand-partner){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:0!important;row-gap:0!important;flex-wrap:nowrap!important;align-items:center!important;width:100%;min-height:56px;box-sizing:border-box}
body .sf-brandrow:has(.sf-brand-partner)>.sf-brandgrp{display:flex!important;align-items:center;min-width:0;min-height:56px;box-sizing:border-box}
body .sf-brandrow:has(.sf-brand-partner)>.sf-brandgrp:first-child{justify-content:flex-start;padding-right:12px!important}
body .sf-brandrow:has(.sf-brand-partner)>.sf-brandgrp+.sf-brandgrp{justify-content:center;border-left:1px solid #dbe6ef!important;padding-left:12px!important}
body .sf-brandrow:has(.sf-brand-partner) .sf-brand-interoperia{max-width:100%;height:25px!important;width:auto!important;object-fit:contain}
.sf-product-heading .sf-brandrow:has(.sf-brand-partner){max-width:440px}


/* Partner marks: common optical standard (sizes generated into the partner-optical block below from the central registry). */
body .sf-brandrow:has(.sf-brand-partner)>.sf-brandgrp+.sf-brandgrp{container-type:inline-size}
body .sf-brandrow:has(.sf-brand-partner) .sf-brand-partner{display:block;flex:none;object-fit:contain;will-change:auto}
/* Secondary action keeps its card grouping but sits above the primary action, so every primary action is the last block and shares one baseline without reserved blank space. */
.pcard>a.secondary{order:1}
.pcard>a.primary{order:2}
.sf-card-footer .sf-extra{order:3}
.sf-card-footer a.primary{order:4}
/* Product gallery: bounded preview stage (full image, contain), original/enlarge controls unchanged. */
.sf-gal-main{max-width:900px}
.sf-gal-stage{aspect-ratio:auto!important;height:clamp(300px,31vw,430px)}
.sf-gal-stage img{width:100%;height:100%;object-fit:contain}
@media(max-width:640px){.sf-gal-stage{height:clamp(200px,62vw,300px)}}
/* Short product descriptions: heading column + readable body column on desktop; stacks on mobile. */
@media(min-width:900px){
.sf-section>.wrap:has(>h2+.sf-about-grid):not(:has(>:nth-child(3))){display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:28px;align-items:start}
.sf-section:has(>.wrap>h2+.sf-about-grid){padding-top:24px!important;padding-bottom:24px!important}
.sf-section>.wrap:has(>h2+.sf-about-grid)>h2{margin:0}
.sf-about-grid>div:only-child{grid-column:1/-1}
}

/* BEGIN partner-optical (generated by scripts/partner-optical-normalizer.mjs; do not edit) */
body .sf-brandrow:has(.sf-brand-partner) .sf-brand-partner[src*="swedbankpay-logo-h"]{width:min(93.34px,calc(100cqw*0.5186))!important;height:min(43.96px,calc(100cqw*0.2442))!important;max-width:none!important;max-height:none!important;transform:translate(min(1.18px,calc(100cqw*0.0066)),min(0.2px,calc(100cqw*0.0011)))}
body .sf-brandrow:has(.sf-brand-partner) .sf-brand-partner[src*="paypal-monogram-official"]{width:min(45.42px,calc(100cqw*0.2523))!important;height:min(45.42px,calc(100cqw*0.2523))!important;max-width:none!important;max-height:none!important;transform:translate(max(-1.66px,calc(100cqw*-0.0092)),max(-1.42px,calc(100cqw*-0.0079)))}
body .sf-brandrow:has(.sf-brand-partner) .sf-brand-partner[src*="stripe-wordmark-blurple"]{width:min(94.14px,calc(100cqw*0.523))!important;height:min(39.22px,calc(100cqw*0.2179))!important;max-width:none!important;max-height:none!important;transform:translate(min(0.08px,calc(100cqw*0.0004)),min(0px,calc(100cqw*0)))}
body .sf-brandrow:has(.sf-brand-partner) .sf-brand-partner[src*="everypay-official"]{width:min(155.69px,calc(100cqw*0.8649))!important;height:min(29.89px,calc(100cqw*0.1661))!important;max-width:none!important;max-height:none!important;transform:translate(max(-0.02px,calc(100cqw*-0.0001)),min(0px,calc(100cqw*0)))}
body .sf-brandrow:has(.sf-brand-partner) .sf-brand-partner[src*="omniva-current-wordmark"]{width:min(147.36px,calc(100cqw*0.8187))!important;height:min(32.15px,calc(100cqw*0.1786))!important;max-width:none!important;max-height:none!important;transform:translate(min(0.18px,calc(100cqw*0.001)),min(0px,calc(100cqw*0)))}
body .sf-brandrow:has(.sf-brand-partner) .sf-brand-partner[src*="dpd-official-current"]{width:min(97.64px,calc(100cqw*0.5424))!important;height:min(44.81px,calc(100cqw*0.2489))!important;max-width:none!important;max-height:none!important;transform:translate(max(-0.41px,calc(100cqw*-0.0023)),min(0.23px,calc(100cqw*0.0013)))}
body .sf-brandrow:has(.sf-brand-partner) .sf-brand-partner[src*="coingate-official-current"]{width:min(155.69px,calc(100cqw*0.8649))!important;height:min(29.89px,calc(100cqw*0.1661))!important;max-width:none!important;max-height:none!important;transform:translate(max(-0.03px,calc(100cqw*-0.0002)),min(0px,calc(100cqw*0)))}
body .sf-brandrow:has(.sf-brand-partner) .sf-brand-partner[src*="paysera-official-current"]{width:min(149.64px,calc(100cqw*0.8313))!important;height:min(35.03px,calc(100cqw*0.1946))!important;max-width:none!important;max-height:none!important;transform:translate(min(0.01px,calc(100cqw*0.0001)),min(0.18px,calc(100cqw*0.001)))}
body .sf-brandrow:has(.sf-brand-partner) .sf-brand-partner[src*="ebay-wordmark-web"]{width:min(119.42px,calc(100cqw*0.6634))!important;height:min(56.13px,calc(100cqw*0.3118))!important;max-width:none!important;max-height:none!important;transform:translate(min(0.08px,calc(100cqw*0.0004)),min(0px,calc(100cqw*0)))}
/* END partner-optical */

/* ROOT_FINDINGS_001 (3,5,7): shared component fixes. */
/* 3. Platform group with a single card: one wide compact row instead of one narrow column + two empty columns. */
@media(min-width:900px){
h2[id]+.cards:has(>.pcard:only-child){grid-template-columns:minmax(0,1fr)!important}
h2[id]+.cards>.pcard:only-child{display:grid!important;grid-template-columns:minmax(240px,300px) minmax(0,1fr) auto;column-gap:32px;row-gap:6px;align-items:center}
h2[id]+.cards>.pcard:only-child>.sf-brandrow{grid-column:1;grid-row:1/span 3;margin:0}
h2[id]+.cards>.pcard:only-child>.pcard-head,h2[id]+.cards>.pcard:only-child>.pdesc,h2[id]+.cards>.pcard:only-child>.price{grid-column:2;margin-top:0}
h2[id]+.cards>.pcard:only-child>.pfoot{grid-column:3;grid-row:1/span 3;margin:0!important;padding:0!important;align-self:center}
}
/* 5. Home: company intro and solution areas sized to content. */
.why{padding-top:28px!important;padding-bottom:32px!important}
.why .main-brand-logo{width:280px!important;max-width:100%;height:auto!important}
.why-grid{row-gap:24px!important}
@media(max-width:699px){.why .main-brand-logo{width:220px!important}}
@media(min-width:900px){.areas-sec .area-index{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* 7. Solution index list outside the home section: same readable rows (number / title + body / arrow), no default list numbering. */
.section:not(.areas-sec) .area-index{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media(min-width:900px){.section:not(.areas-sec) .area-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
.section:not(.areas-sec) .area-index>li{margin:0;min-width:0}
.section:not(.areas-sec) .area-index>li>a{display:grid;grid-template-columns:3ch minmax(0,1fr) auto;column-gap:14px;align-items:start;padding:14px 16px;border:1px solid var(--line,#d9e4ee);border-radius:14px;background:#fff;color:inherit}
.section:not(.areas-sec) .area-index .idx-body{display:grid;gap:4px;min-width:0}
.section:not(.areas-sec) .area-index .idx-body strong{display:block}
.section:not(.areas-sec) .area-index .idx-body small{display:block;font-size:15px;line-height:1.5;color:#455d73}
.section:not(.areas-sec) .area-index .go{align-self:center}

/* NEXUS-POSITIONING-005: ordered compact Nexus detail (problem, benefits, comparison, performance, projects, integrations, FAQ, enquiry). */
.nx-tagline{margin:8px 0 12px;font-size:20px;font-weight:700;line-height:1.35;color:#0b54a0}
[data-nexus-problem] p,[data-nexus-performance] p,[data-nexus-comparison]>.wrap>p,[data-nexus-interest] p{max-width:78ch}
.nx-benefits{margin-top:14px}
.nx-compare{display:grid;gap:12px;margin-top:14px}
.nx-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line,#d9e4ee);border-radius:14px;background:#fff;overflow:hidden}
.nx-side{padding:14px 18px;min-width:0}
.nx-side p{margin:0;overflow-wrap:anywhere}
.nx-side-approach{background:#f2f8ff;border-left:1px solid var(--line,#d9e4ee)}
.nx-side p.nx-label{margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.02em;color:#5a6b7b}
@media(max-width:699px){.nx-pair{grid-template-columns:minmax(0,1fr)}.nx-side-approach{border-left:0;border-top:1px solid var(--line,#d9e4ee)}}
.nx-faq{display:grid;gap:10px;margin-top:14px;max-width:900px}
.nx-faq-item{border:1px solid var(--line,#d9e4ee);border-radius:12px;background:#fff;padding:0 16px}
.nx-faq-item>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:8px 0;font-weight:700}
.nx-faq-item>summary:focus-visible{outline:3px solid #0793c9;outline-offset:2px;border-radius:8px}
.nx-faq-item>p{margin:0 0 14px;overflow-wrap:anywhere}
.nx-note{margin-top:4px;font-size:14px;color:#455d73}

/* r9 verdict corrections: (1) solutions area-index links fill their equal-height list items so the visible bordered rows share top/bottom edges; (2) the decorative company icon is not shown on narrow screens (it collapsed to ~7px), the full brand lockup stays. */
.section:not(.areas-sec) .area-index>li{display:flex}
.section:not(.areas-sec) .area-index>li>a{flex:1 1 auto;box-sizing:border-box}
@media(max-width:899px){.why-grid>img[alt=""]{display:none}}
