/*
 * Deskia readability + small-screen QA
 * Final override layer loaded after the commercial and Stripe/modal styles.
 * Goal: preserve the existing 2027 visual language while removing 7-10px
 * microcopy and preventing the mobile header CTA from colliding with the menu.
 */

:root{
  --deskia-readable-xs:11px;
  --deskia-readable-sm:12px;
  --deskia-readable-card:13px;
}

/* ---------- Global UI readability floor ---------- */
.nav-dropdown-label{font-size:10.5px!important}
.nav-dropdown small{font-size:11.5px!important;line-height:1.45!important}

.brief-kicker,
.pp-kicker,
.corp-kicker,
.eyebrow,
.product-pill,
.solution-label{font-size:11px!important}

.brief-problem-card b,
.brief-channel-card small,
.brief-price-card>small,
.duo-combo-grid b{font-size:10.5px!important}

.brief-problem-card p,
.brief-channel-card p,
.brief-price-card>p,
.brief-faq p,
.brief-consumption p,
.pp-consumption-note p{font-size:13px!important;line-height:1.62!important}

.brief-core-list span,
.brief-human-list li,
.brief-operation-points b,
.brief-operation-points span,
.brief-channel-card>span:last-child,
.brief-price-card li,
.brief-faq summary{font-size:12px!important;line-height:1.5!important}

.brief-price-main span{font-size:11.5px!important}
.brief-price-annual b{font-size:12.5px!important}
.brief-price-annual span{font-size:11px!important;line-height:1.45!important}
.brief-price-badge{font-size:9.5px!important}
.brief-price-card .button{font-size:12px!important}
.brief-consumption-cards b{font-size:13px!important}
.brief-consumption-cards span{font-size:11.5px!important;line-height:1.5!important}

.duo-combo-grid span,
.duo-channel-picker span{font-size:11.5px!important}
.channel-browser-info small{font-size:10.5px!important}
.channel-browser-info p{font-size:12.5px!important}
.channel-chat .msg{font-size:12px!important}
.channel-chat small{font-size:10.5px!important}
.channel-email-row strong{font-size:12px!important}
.channel-email-row span{font-size:11px!important}
.channel-email-row b{font-size:10.5px!important}

/* CPD / corporate detail text */
.page-about .corp-fact span:not(.corp-fact-icon){font-size:12px!important;line-height:1.55!important}
.ds-sovereignty-energy span{font-size:10px!important}
.ds-sovereignty-energy strong{font-size:12px!important}

/* ---------- Pricing: annual language must read in one glance ---------- */
.pp-billing-switch label{font-size:12px!important}
.pp-billing-switch .pp-billing-saving{font-size:11px!important}
.pp-saving-pill{font-size:11px!important}
.pp-price-mode span{font-size:12px!important;line-height:1.35!important}
.pp-billing-note{gap:12px!important;padding:12px 13px!important}
.pp-billing-note b{font-size:11.5px!important;line-height:1.42!important}
.pp-billing-note b strong{font-size:14px!important;line-height:1.2!important}
.pp-billing-note span{font-size:10.5px!important;line-height:1.45!important}
.pp-billing-note .pp-annual-caption{font-size:10.5px!important;line-height:1.4!important}
.pp-annual-explainer strong{font-size:12px!important}
.pp-annual-explainer span{font-size:11.5px!important}
.pp-annual-explainer b{font-size:10.5px!important}
body.page-pricing-premium .pp-plan-eyebrow{font-size:10.5px!important}
body.page-pricing-premium .pp-badge{font-size:10px!important}
body.page-pricing-premium .pp-plan-summary{font-size:14px!important}
body.page-pricing-premium .pp-plan-card li{font-size:13px!important}
body.page-pricing-premium .pp-fit{font-size:12px!important}
body.page-pricing-premium .pp-plan-card .button{font-size:12px!important}
body.page-pricing-premium .pp-meta-note,
body.page-pricing-premium .pp-swipe-note{font-size:11.5px!important;line-height:1.5!important}
body.page-pricing-premium .pp-compare-table th,
body.page-pricing-premium .pp-compare-table td{font-size:12.5px!important}
.pp-channel-cost strong{font-size:13px!important}
.pp-channel-cost small{font-size:11px!important;line-height:1.45!important}

/* ---------- Trial / Stripe modal: compact, not microscopic ---------- */
.deskia-trial-kicker{font-size:10px!important}
.deskia-trial-tab{font-size:11.5px!important}
.deskia-trial-tab b{font-size:11.5px!important}
.deskia-trial-step-intro>div>span{font-size:10.5px!important}
.deskia-trial-step-intro p{font-size:11.5px!important;line-height:1.48!important}
.deskia-trial-form-v3 label{font-size:12px!important}
.deskia-trial-label-row small,.form-label-row small{font-size:11px!important}
.deskia-trial-form-v3 input[type=text],
.deskia-trial-form-v3 input[type=email],
.deskia-trial-form-v3 input[type=tel]{font-size:13.5px!important}
.deskia-trial-form-v3 .deskia-trial-submit{font-size:12.5px!important}
.deskia-trial-form-status{font-size:11px!important}
.deskia-trial-microproof-v3 span{font-size:11px!important}
.deskia-trial-microproof-v3 b{font-size:11.5px!important}
.deskia-trial-plan-v3 strong{font-size:12.5px!important}
.deskia-trial-plan-v3 small{font-size:11px!important}
.deskia-trial-plan-price{font-size:11.5px!important}
.deskia-trial-plan-v3 em{font-size:9px!important}
.deskia-trial-billing-copy>span{font-size:10.5px!important}
.deskia-trial-billing-copy>strong{font-size:12.5px!important}
.deskia-trial-billing-copy>small{font-size:10.5px!important}
.deskia-trial-billing-v3 label span{font-size:11.5px!important}
.deskia-trial-saving{font-size:10.5px!important}
.deskia-trial-account-v3 small{font-size:10px!important}
.deskia-trial-account-v3 strong{font-size:11.5px!important}
.deskia-stripe-lockup strong{font-size:11.5px!important}
.deskia-stripe-lockup small{font-size:10.5px!important}
.deskia-stripe-secure{font-size:10px!important}
.deskia-stripe-loading strong{font-size:12px!important}
.deskia-stripe-loading small{font-size:11px!important}
.deskia-stripe-loading button{font-size:11px!important}
.deskia-stripe-error{font-size:11px!important}
.deskia-trial-summary-v3 span{font-size:9.5px!important}
.deskia-trial-summary-v3 strong{font-size:11.5px!important}
.deskia-trial-summary-v3 small{font-size:10px!important}
.deskia-stripe-confirm{font-size:12px!important}
.deskia-trial-channel-note{font-size:10.5px!important}
.deskia-trial-alert{font-size:11px!important}

/* Optional stays on the same baseline, at the right edge of its field label. */
.deskia-trial-label-row,.form-label-row{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:10px!important;width:100%!important}
.deskia-trial-label-row small,.form-label-row small{margin-left:auto!important;text-align:right!important;white-space:nowrap!important}

/* ---------- Header geometry ---------- */
.site-header .header-inner{align-items:center!important}
.header-brand-group,.header-actions,.nav-toggle,.main-nav{align-self:center!important}
.brand.brand-image{display:flex!important;align-items:center!important;justify-content:flex-start!important;line-height:0!important}
.header-actions .button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important}
.header-trial-lead,.header-trial-tail,.header-trial-arrow{display:inline-block}
.header-trial-arrow{margin-left:2px}

@media(max-width:1020px){
  /* Tablet: copy stays readable and grids breathe rather than shrink type. */
  .brief-section-head p,.brief-core-copy>p,.brief-human-copy>p,.brief-operation-copy p{font-size:14px!important}
  .pp-billing-note{grid-template-columns:1fr!important}
  .pp-billing-note>span{text-align:left!important}
}

@media(max-width:720px){
  /* Header: flex children have hard ownership of their space; no overlap. */
  .site-header .header-inner{
    display:flex!important;
    height:64px!important;
    gap:7px!important;
    padding-left:max(10px,env(safe-area-inset-left))!important;
    padding-right:max(10px,env(safe-area-inset-right))!important;
  }
  .header-brand-group{flex:0 1 auto!important;min-width:0!important;overflow:hidden!important}
  .brand.brand-image{flex:0 1 auto!important;min-width:0!important}
  .brand.brand-image .brand-logo{height:29px!important;width:auto!important;max-width:96px!important;flex:0 1 auto!important}
  .brand-service{display:none!important}
  .header-actions{flex:0 0 auto!important;margin-left:auto!important;gap:0!important;min-width:0!important}
  .header-actions .login-link{display:none!important}
  .header-actions .button{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:132px!important;
    min-height:38px!important;
    padding:0 9px!important;
    border-radius:9px!important;
    font-size:10.5px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }
  .nav-toggle{
    display:block!important;
    flex:0 0 42px!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    margin-left:0!important;
  }

  /* Do not solve mobile layouts by shrinking text. */
  .brief-problem-card p,.brief-channel-card p,.brief-price-card>p,.brief-faq p{font-size:13.5px!important}
  .brief-core-list span,.brief-human-list li,.brief-price-card li{font-size:12.5px!important}
  body.page-pricing-premium .pp-plan-summary{font-size:14px!important}
  body.page-pricing-premium .pp-fit{font-size:12.5px!important}
  body.page-pricing-premium .pp-compare-table th,body.page-pricing-premium .pp-compare-table td{font-size:12px!important}

  /* Modal: plan cards become readable rows instead of tiny columns. */
  .deskia-trial-header-v3 .deskia-trial-kicker{font-size:9.5px!important}
  .deskia-trial-step-intro p{font-size:11.5px!important}
  .deskia-trial-form-v3 label{font-size:12px!important}
  .deskia-trial-form-v3 input[type=text],
  .deskia-trial-form-v3 input[type=email],
  .deskia-trial-form-v3 input[type=tel]{font-size:16px!important}
  .deskia-trial-microproof-v3 span{font-size:10.5px!important}
  .deskia-trial-plans-v3{grid-template-columns:1fr!important;gap:7px!important}
  .deskia-trial-plan-v3{min-height:58px!important;padding:9px 10px!important}
  .deskia-trial-plan-v3 strong{font-size:12.5px!important}
  .deskia-trial-plan-v3 small{font-size:11px!important}
  .deskia-trial-plan-price{font-size:11.5px!important}
  .deskia-trial-plan-v3 em{font-size:8.5px!important}
  .deskia-trial-account-v3 strong{font-size:11.5px!important}
  .deskia-trial-summary-v3 span{font-size:9.5px!important}
  .deskia-trial-summary-v3 strong{font-size:11.5px!important}
  .deskia-trial-summary-v3 small{font-size:10px!important}
}

@media(max-width:430px){
  /* Keep the conversion CTA, but shorten its visible wording rather than
     squeezing the hamburger or dropping below a readable type size. */
  .header-trial-tail{display:none!important}
  .header-actions .button{max-width:94px!important;min-height:38px!important;padding-inline:9px!important;font-size:10.5px!important}
  .brand.brand-image .brand-logo{height:28px!important;max-width:86px!important}
  .nav-toggle{flex-basis:40px!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}

  .pp-billing-switch{max-width:100%!important;overflow:hidden!important}
  .pp-billing-switch label{min-width:0!important;flex:1!important;padding-inline:10px!important}
  .pp-billing-switch .pp-billing-saving{font-size:10.5px!important}
  .pp-billing-note{padding:11px!important}
  .pp-annual-explainer{align-items:flex-start!important}
  .pp-annual-explainer b{white-space:normal!important}

  .deskia-trial-dialog-v3{width:calc(100vw - 8px)!important;max-height:calc(100dvh - 8px)!important}
  .deskia-trial-header-v3 h2{font-size:17.5px!important}
  .deskia-trial-progress-v3 .deskia-trial-tab{font-size:11px!important}
  .deskia-trial-microproof-v3{gap:7px 12px!important}
  .deskia-trial-microproof-v3 span{font-size:10.5px!important}
  .deskia-trial-billing-copy>small{display:block!important}
}

@media(max-width:350px){
  .site-header .header-inner{gap:5px!important;padding-left:max(7px,env(safe-area-inset-left))!important;padding-right:max(7px,env(safe-area-inset-right))!important}
  .brand.brand-image .brand-logo{height:27px!important;max-width:78px!important}
  .header-actions .button{max-width:84px!important;padding-inline:7px!important;font-size:10px!important}
  .header-trial-arrow{display:none!important}
  .nav-toggle{flex-basis:38px!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important}
}

/* Very short landscape screens: reduce vertical chrome, not font sizes. */
@media(max-height:620px) and (max-width:900px){
  .deskia-trial-header-v3{min-height:68px!important;padding-top:10px!important;padding-bottom:10px!important}
  .deskia-trial-step-v3{padding-top:10px!important;padding-bottom:11px!important}
  .deskia-trial-microproof-v3{display:none!important}
  .deskia-trial-plan-v3{min-height:52px!important}
}

/* ---------- Remaining compact visual components ---------- */
.nav-group-button span{font-size:10px!important}
.nav-custom-kicker{font-size:9.5px!important}
.site-footer .footer-brand .footer-service-note{font-size:11px!important}
.corp-member small{font-size:10.5px!important}
.legal-meta span{font-size:10.5px!important}

.ds-operation-step-copy>span{font-size:10.5px!important}
.ds-operation-step p{font-size:12.5px!important}
.ds-case-top i{font-size:10px!important}
.ds-operation-case dt{font-size:10.5px!important}
.ds-operation-case dd{font-size:11.5px!important}
.ds-channel{font-size:10px!important}
.ds-thread-tabs>*{font-size:10.5px!important}
.ds-thread-row time{font-size:10px!important}
.ds-thread-row strong{font-size:11.5px!important}
.ds-thread-row p{font-size:11px!important}
.ds-operation-context>span{font-size:12px!important}
.ds-operation-context li,.ds-operation-context p{font-size:11.5px!important}
.ds-operation-context strong{font-size:12px!important}
.ds-compact-feature small,.ds-agent-strip span{font-size:10px!important}
.ds-compact-feature p{font-size:12.5px!important}
.ds-agent-strip strong{font-size:12px!important}
.ds-sovereignty-copy .ds-sovereignty-note{font-size:11.5px!important}
.ds-sovereignty-pills b{font-size:11px!important}
.ds-sovereignty-location span{font-size:10px!important}
.ds-sovereignty-location small{font-size:11px!important}
.ds-sovereignty-actions .button{font-size:11.5px!important}
.ds-sovereignty-gallery figcaption span{font-size:9.5px!important}
.ds-sovereignty-gallery figcaption strong{font-size:11.5px!important}
.ds-tech-card small{font-size:10.5px!important}
.ds-sovereignty-facts span{font-size:11px!important}

.duo-proof,.duo-service{font-size:11.5px!important}
.duo-flow-source span{font-size:11px!important}
.duo-flow-core small{font-size:10px!important}
.duo-flow-core span{font-size:11px!important}
.duo-compare-table thead th{font-size:10.5px!important}
.duo-steps p{font-size:13px!important}
.duo-offer-copy>p{font-size:13.5px!important;line-height:1.62!important}
.duo-offer-meta span{font-size:10px!important}
.duo-offer-meta small{font-size:10.5px!important}
.duo-offer-action>span{font-size:10.5px!important}
.duo-offer-action small{font-size:11px!important;line-height:1.45!important}
.duo-faq-list p{font-size:13px!important}
.duo-final-inner>div>span{font-size:10.5px!important}
.duo-final-inner p{font-size:12.5px!important}

/* Main-content <small> elements are supplemental, but should still be legible. */
main small:not(.sr-only){font-size:max(11px,.72rem)}
