/* VIX Brand & UI Integrity 2026
   Official channel marks stay as image assets: no filters, recoloring, stretching or font substitutes. */
.brand-logo{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center;user-select:none;-webkit-user-drag:none;filter:none!important}
.brand-logo--yape{width:100%;height:100%}
.brand-logo--paypal-mark{width:100%;height:100%}
.brand-logo--paypal{width:min(170px,100%);height:auto}
.brand-logo--whatsapp{width:auto!important;height:22px!important;max-width:22px!important;max-height:22px!important;aspect-ratio:448/512;object-fit:contain!important;flex:0 0 auto}
.brand-logo--bank{width:30px;max-height:24px}
.brand-logo--bcp-wordmark{width:108px;max-height:34px}
.brand-logo--checkout-yape{width:28px;height:28px}
.brand-logo--checkout-paypal{width:29px;height:29px}
.brand-logo--settings-yape{width:42px;height:42px}

/* Payment surfaces: preserve brand proportions and give every option the same visual weight. */
.invoice-payment-icon,.payment-brand-mark,.payment-config-icon,.bank-icon,.yape-mark{overflow:hidden;padding:7px;box-sizing:border-box;background:#fff!important;border:1px solid rgba(15,45,85,.10);color:inherit}
.invoice-payment-icon{width:44px!important;height:44px!important;border-radius:12px!important}
.payment-brand-mark{width:54px!important;height:54px!important;border-radius:14px!important}
.payment-config-icon{width:48px!important;height:48px!important;border-radius:13px!important}
.bank-icon--brand{width:54px!important;height:38px!important;padding:5px 7px!important;border-radius:10px!important}
.yape-mark--official{width:58px!important;height:58px!important;padding:0!important;border:0!important;background:transparent!important}
.payment-brand-mark--paypal{padding:8px!important}
.bank-destination-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:4px}
.bank-destination-head h3{margin-bottom:0}
.bank-destination-logo{display:grid;place-items:center;min-width:126px;min-height:48px;padding:8px 10px;border:1px solid #e0e8f1;border-radius:12px;background:#fff}
.payment-settings-title{display:flex;align-items:center;gap:12px;min-width:0}
.payment-settings-brand{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto}

/* Checkout choice cards previously used 7–10px text and unsupported sprite names. */
.commerce-payment>span{grid-template-columns:38px minmax(0,1fr)!important;column-gap:10px!important;min-height:68px;align-content:center}
.commerce-payment>span>.brand-logo,.commerce-payment>span>svg{grid-row:1/3;align-self:center;justify-self:center}
.commerce-payment strong{font-size:13px!important;line-height:1.3}
.commerce-payment small{font-size:12px!important;line-height:1.45!important}
.commerce-domain-action strong,.commerce-addon strong,.commerce-domain-result strong{font-size:12px!important}
.commerce-domain-action small,.commerce-domain-input small,.commerce-epp small,.commerce-coupon small,.commerce-domain-result small,.commerce-addon small,.commerce-terms,.domain-standalone-config p,.domain-bundle-card p,.domain-bundle-card li,.domain-bundle-select__head small{font-size:11.5px!important;line-height:1.5!important}
.commerce-domain-result em,.commerce-domain-result b,.commerce-addon em,.commerce-addon b,.domain-standalone-config label span,.domain-bundle-cycle-picker span{font-size:11.5px!important}
.commerce-summary-line strong{font-size:12px!important}
.commerce-summary-line small,.commerce-summary__loading,.commerce-summary__renewal>div small,.commerce-summary__renewal li,.commerce-summary__renewal li small,.commerce-summary__notice p,.commerce-summary__fine,.commerce-summary__installments{font-size:11.5px!important;line-height:1.5!important}
.commerce-summary__top strong,.commerce-summary__discount{font-size:11px!important}
.commerce-summary__total small{font-size:11px!important}
.domain-bundle-card__title em,.domain-bundle-card footer small{font-size:11.5px!important}

/* Keyboard and pointer accessibility for custom card controls. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid rgba(22,102,224,.30);outline-offset:2px}
.commerce-payment:has(input:focus-visible)>span,.commerce-domain-action:has(input:focus-visible)>span,.domain-bundle-card:has(input:focus-visible)>span,.bank-account-card:focus-within{outline:3px solid rgba(22,102,224,.24);outline-offset:2px}
.invoice-payment-card,.commerce-payment>span,.commerce-domain-action>span,.px-btn,.vix-oc__button{min-height:44px}
.copyable-value,.payment-webhook-box code,.billing-table td,.bank-detail-list strong{overflow-wrap:anywhere;word-break:normal}

/* Semantically correct footer control, visually identical to the neighboring text links. */
.site-footer__link-button{appearance:none;border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;line-height:inherit;cursor:pointer;text-decoration:none}
.site-footer__link-button:hover,.site-footer__link-button:focus-visible{text-decoration:underline;text-underline-offset:3px}

/* WhatsApp brand: official green mark; dark button copy keeps readable contrast on #25D366. */
.vix-oc__tabs .brand-logo--whatsapp,.vix-oc__channel-mark .brand-logo--whatsapp{width:auto!important;height:20px!important;max-width:20px!important;max-height:20px!important}
.vix-oc__button--whatsapp .brand-logo--whatsapp{width:auto!important;height:21px!important;max-width:21px!important;max-height:21px!important}

@media(max-width:760px){
  .bank-destination-head{align-items:stretch;flex-direction:column}
  .bank-destination-logo{width:max-content;min-width:118px}
  .invoice-payment-card{min-height:74px}
  .payment-settings-title{align-items:flex-start}
}
@media(max-width:480px){
  .commerce-section{padding:16px!important}
  .commerce-payment>span{min-height:72px;padding:12px!important}
  .invoice-payment-card{padding:12px!important;gap:10px!important}
}
@media(prefers-reduced-motion:reduce){
  .invoice-payment-card,.commerce-payment>span,.commerce-domain-action>span,.brand-logo{transition:none!important;animation:none!important;transform:none!important}
}

/* Global legibility normalization: legacy releases accumulated 7–8.5px operational text.
   Preserve compact hierarchy without forcing users to read sub-10px labels. */
.vix-auth-trust-list small,.vix-login-account-links a small,.vix-login-area-badge,
.px-brand .px-area,.px-orbit-score span,.px-user-summary small,.px-server-clock span,.px-server-clock small,
.vix-chart-col span,.uc-health-title em,.uc-cron-fields span,.uc-command-box>div small,.uc-check-item span,.uc-job-tech strong,.uc-job-tech code,.uc-job-tech p,.uc-job-waiting,
.vix-dep,.vix-preview-head>span,.vix-bar-item small,.vix-oc__footer small,
.ux-quick-links a>small,.ux-tools-grid a>small,.ux-technical-grid small,.vix-image-upload-feedback__copy small,.vix-image-upload-copy small,
.hosting-ring small,.hosting-job-list small,
.domain-mini-badge,.domain-state-pill,.domain-price-pair small,.domain-price-pair em,.domain-conditions span,.domain-rule-form--friendly label small,
.domain-acquisition-card em,.domain-bundle-panel__head span,.domain-bundle-card__eyebrow,.domain-bundle-card__price>small,.domain-bundle-card__price em,.domain-core-fields label>small,
.site-page .domain-result-reason,.site-page .domain-result-badge,.site-page .domain-search-result--premium .domain-result-price-wrap span,.site-page .domain-search-result--premium .domain-result-price-wrap small,
.site-page .plan-spec-copy small,.site-page .price-card.featured .kicker:after,.info-dot,
body[data-page="index"] .home-hero-v59__eyebrow b,body[data-page="index"] .home-hero-v59__console-brand small,body[data-page="index"] .home-hero-v59__uptime>span,
body[data-page="index"] .home-hero-v59__stats .cloud-stat small,body[data-page="index"] .home-hero-v59__stats .cloud-stat span,body[data-page="index"] .home-hero-v59__console-head>span,
body[data-page="index"] .home-solutions-2026__eyebrow{font-size:11px!important;line-height:1.4!important}
.domain-bundle-card__title em,.domain-bundle-card footer small{font-size:11.5px!important}

/* Dense tables and long technical values must stay inside their cards on small screens. */
:where(.px-admin-body,.site-page) table{max-width:100%}
:where(.px-admin-body,.site-page) :is(td,th,code,.px-muted,.px-subtitle,.help-text){overflow-wrap:anywhere}
:where(.px-admin-body,.site-page) :is(.px-card,.commerce-card,.invoice-card,.bank-account-card){min-width:0}

/* A brand mark is decorative when the payment/channel name is written next to it. */
.payment-settings-brand,.invoice-payment-icon,.payment-brand-mark,.bank-icon--brand{flex:0 0 auto}
.blog-inline-media button:after,.brandtext span{font-size:11px!important;line-height:1.35!important}

/* Readability floor: operational helper text must never collapse to 7–9px from legacy CSS. */
:where(.px-admin-body,.site-page) :where(small,.help-text,.px-muted,.px-subtitle){font-size:max(11.5px,.72rem);line-height:1.45}
:where(.px-admin-body,.site-page) :where(button,a,input,select,textarea){-webkit-tap-highlight-color:transparent}

/* Public and operational brand surfaces: no text-only substitutes for real payment/channel identities. */
.site-payment-chip{display:inline-flex!important;align-items:center;gap:9px;min-height:42px;padding:7px 11px!important;background:#fff!important;color:#17263c!important;border:1px solid rgba(15,45,85,.12)!important;border-radius:12px!important}
.site-payment-chip>span{font-size:12px;font-weight:700;white-space:nowrap}
.brand-logo--footer-yape{width:28px;height:28px}
.brand-logo--footer-paypal{width:88px;height:24px}
.site-payment-chip--bank>svg{width:24px;height:24px;color:#174a8b}
.site-footer__social-link--whatsapp img{width:auto!important;height:20px!important;max-width:20px!important;max-height:20px!important;object-fit:contain!important;filter:none!important;opacity:1!important}
.brand-logo--footer-whatsapp{width:auto!important;height:20px!important;max-width:20px!important;max-height:20px!important;aspect-ratio:448/512;object-fit:contain!important}
.public-payment-publisher{grid-column:1/-1}
.public-payment-publisher__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}
.public-payment-publisher__list .vix-toggle-row{margin:0;min-width:0;align-items:center}
.public-payment-publisher__brand{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;padding:5px;border:1px solid rgba(15,45,85,.10);border-radius:10px;background:#fff}
.public-payment-publisher__brand--bank svg{width:24px;height:24px}
.brand-logo--publisher-yape,.brand-logo--publisher-paypal{width:100%;height:100%}
.payment-ledger-title{display:flex;align-items:center;gap:12px;min-width:0}
.payment-ledger-brand{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;padding:5px;border:1px solid rgba(15,45,85,.10);border-radius:12px;background:#fff}
.brand-logo--ledger-yape,.brand-logo--ledger-paypal{width:100%;height:100%}
.bank-ledger-destination{display:flex;align-items:center;gap:9px;min-width:0}
.bank-ledger-brand{display:grid;place-items:center;width:50px;min-width:50px;height:34px;padding:4px 6px;border:1px solid rgba(15,45,85,.10);border-radius:9px;background:#fff}
.brand-logo--bank-ledger{width:100%;max-height:24px}
@media(max-width:760px){.public-payment-publisher__list{grid-template-columns:1fr}.site-payment-strip__logos{align-items:stretch}.site-payment-chip{justify-content:flex-start}.payment-ledger-title{align-items:flex-start}}

