/* Self-hosted variable fonts from Google Fonts, OFL 1.1 */
/* Manrope — cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/app/typography/fonts/manrope-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Manrope — cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/app/typography/fonts/manrope-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Manrope — latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/app/typography/fonts/manrope-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Manrope — latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/app/typography/fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Onest — cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/app/typography/fonts/onest-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Onest — cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/app/typography/fonts/onest-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Onest — latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/app/typography/fonts/onest-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Onest — latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/app/typography/fonts/onest-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* Global Photo Studio | typography design system v1
 * Self-hosted Onest + Manrope (SIL OFL 1.1), with full Latin/Cyrillic subsets.
 * Visual only — auth, generation, balances and checkout are unchanged.
 */
:root{
  --gps-type-body:'Onest',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gps-type-display:'Manrope','Onest',system-ui,sans-serif;
  --gps-type-caption:13px;
  --gps-type-secondary:14px;
  --gps-type-copy:16px;
  --gps-type-control:15px;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body,button,input,select,textarea,option,label,summary{
  font-family:var(--gps-type-body)!important;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--gps-type-display)!important;
  font-optical-sizing:auto;
  letter-spacing:-.025em;
}
button,a,input,select,textarea,summary{font-optical-sizing:auto}
input[type="email"],input[type="text"],input[type="search"],input[type="number"],input[type="tel"],input[type="password"],textarea{
  font-size:16px!important;
}
.brand-symbol,.sidebar-avatar,.profile-avatar,.guest-g{font-family:Georgia,serif!important}

/* Main desktop experience: real readable interface copy */
.gps-desktop-quicknav > button,
.gps-desktop-quicknav > a.gps-examples-nav,
.gps-desktop-topbar .gps-desktop-quicknav > button,
.gps-desktop-topbar .gps-desktop-quicknav > a.gps-examples-nav{
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.25!important;
}
.gps-desktop-create,.gps-desktop-editor .gps-desktop-create,
.gps-desktop-create > span,.gps-desktop-editor .gps-desktop-create > span{
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.28!important;
}
.gps-desktop-prompt label,.gps-desktop-prompt span,
.gps-desktop-control-head,.gps-desktop-control-panel label{
  font-size:14px!important;
  line-height:1.45!important;
}
.gps-desktop-prompt textarea{line-height:1.55!important}
.desktop-focus__upload>b,.desktop-focus__upload>small,
.desktop-focus__upload strong{font-size:14px!important;line-height:1.4!important}
.gps-document-card__hint,.gps-document-formats,.gps-desktop-control-panel small{
  font-size:13px!important;
  line-height:1.5!important;
}
.gps-seo-section h2{font-size:clamp(22px,2vw,29px)!important;line-height:1.28!important}
.gps-seo-section p,.gps-seo-main > p{font-size:16px!important;line-height:1.7!important}
.gps-seo-grid h3{font-size:17px!important;line-height:1.35!important}
.gps-seo-grid p{font-size:15px!important;line-height:1.65!important}
.gps-seo-how li{font-size:15px!important;line-height:1.65!important}
.gps-seo-how li::before{font-size:14px!important}
.gps-seo-faq summary{font-size:16px!important;line-height:1.5!important}
.gps-seo-faq details>p{font-size:15px!important;line-height:1.7!important}
.gps-desktop-footer,.gps-desktop-footer a{font-size:13px!important;line-height:1.6!important}

/* Compact mobile editor — boost labels but keep composer and actions in the viewport. */
.gps-mobile-intro p{font-size:14px!important;line-height:1.38!important}
.gps-mobile-page-head p{font-size:13px!important;line-height:1.4!important}
.gps-mobile-tools button,.gps-mobile-tools button b{
  font-size:14px!important;
  line-height:1.24!important;
}
.gps-mobile-shortcuts button,.gps-mobile-shortcuts .gps-mobile-account-shortcut{
  font-size:14px!important;
  line-height:1.2!important;
}
.gps-mobile-upload__empty small{font-size:14px!important;line-height:1.35!important}
.gps-mobile-language,.gps-mobile-page-language{font-size:12px!important}
.gps-mobile-page-placeholder p,.gps-mobile-balance-note{
  font-size:14px!important;
  line-height:1.5!important;
}
.gps-mobile-balance-package span{font-size:13px!important}
.gps-mobile-balance-package button{font-size:14px!important;line-height:1.3!important}
.gps-mobile-composer__row textarea{
  font-size:16px!important;
  line-height:1.45!important;
}

/* Shared account/profile/payment dialogs — account content stays readable */
.gps-auth-card p,.gps-auth-modal p,
.gps-auth-modal small,.gps-credit-modal p,
.gps-upload-dialog p,.gps-notice-dialog p{
  font-size:14px!important;
  line-height:1.55!important;
}
.gps-auth-modal button:not(.gps-auth-modal-close),
.gps-credit-modal button:not(#gpsCreditClose),
.gps-upload-dialog button:not(.gps-upload-dialog__close){
  font-size:14px!important;
  line-height:1.35!important;
}
.gps-auth-card label,.gps-auth-card small,.gps-auth-balance-card small{
  font-size:13px!important;line-height:1.5!important;
}

/* Premium account: 9–11px microcopy becomes genuine supporting text. */
.account-brand{font-size:18px!important}
.account-brand small{font-size:12px!important;letter-spacing:1.5px!important}
.account-content .eyebrow,.account-content .small-kicker,
.guest-wrap .small-kicker,.guest-wrap .eyebrow{
  font-size:12px!important;
  letter-spacing:1.65px!important;
  line-height:1.5!important;
}
.sidebar-name{font-size:15px!important}
.sidebar-email{font-size:13px!important}
.sidebar-link{font-size:14px!important;line-height:1.35!important}
.sidebar-signature{font-size:11px!important;line-height:1.7!important}
.content-greeting p,.section-title p,.support-panel p,.settings-panel p{
  font-size:15px!important;
  line-height:1.6!important;
}
.member-tag{font-size:12px!important}
.balance-label{font-size:13px!important;line-height:1.4!important}
.balance-hero .hero-support{font-size:14px!important;line-height:1.5!important}
.balance-hero .hero-bottom{font-size:12px!important;line-height:1.5!important}
.balance-hero .hero-button{font-size:15px!important}
.profile-panel h2{font-size:16px!important;line-height:1.45!important}
.profile-panel p{font-size:14px!important;line-height:1.55!important}
.profile-panel .detail-row{font-size:13px!important;line-height:1.45!important}
.package-caption{font-size:12px!important;line-height:1.4!important}
.package-title{font-size:16px!important;line-height:1.35!important;min-height:43px!important}
.package-number small{font-size:12px!important}
.package-buy{font-size:14px!important;line-height:1.25!important;min-height:44px}
.package-price{font-size:15px!important}
.legal-line{font-size:12px!important;line-height:1.65!important}
.history-head{font-size:12px!important}
.history-line{font-size:14px!important;line-height:1.5!important}
.history-line small{font-size:12px!important}
.payment-state{font-size:12px!important}
.history-panel .empty-state,.placeholder-card{font-size:15px!important;line-height:1.6!important}
.form-flow label{font-size:14px!important}
.support-foot .char-count,.status-line{font-size:13px!important;line-height:1.5!important}
.secondary-btn,.primary-btn,.outline-btn,.return-btn{font-size:14px!important;line-height:1.35!important}
.setting-row b{font-size:14px!important;line-height:1.45!important}
.setting-row small{font-size:13px!important;line-height:1.5!important}
.account-footer{font-size:12px!important;line-height:1.5!important}
.guest-card p.subtle,.guest-card .privacy-caption{font-size:14px!important;line-height:1.6!important}
.guest-card .text-link{font-size:13px!important}
.mode-segment button{font-size:12px!important}
/* Do not widen mobile side nav or tariff cards beyond the screen */
@media(max-width:760px){
  .account-brand{font-size:14px!important}
  .account-brand small{font-size:10px!important}
  .sidebar-link{font-size:13px!important;padding:10px 11px!important}
  .account-content .eyebrow,.account-content .small-kicker{font-size:11px!important}
  .member-tag{display:none}
}
@media(max-width:480px){
  .account-brand{font-size:12px!important}
  .account-brand small{font-size:9px!important}
  .package-title{font-size:14px!important;min-height:40px!important}
  .package-buy{font-size:12px!important;min-height:44px;padding-inline:10px!important}
  .package-price{font-size:13px!important}
  .package-number small{font-size:11px!important}
  .account-content{overflow-wrap:anywhere}
}

/* Gallery: slider badges remain modest; descriptions and navigation readable */
.ex-brand{font-size:15px!important}
.ex-back{font-size:14px!important}
.ex-heading p{font-size:16px!important;line-height:1.6!important}
.ex-eyebrow{font-size:12px!important}
.ex-label{font-size:13px!important}
.ex-status,.ex-footer{font-size:13px!important;line-height:1.5!important}
@media(max-width:420px){.ex-brand{font-size:13px!important}.ex-back{font-size:12px!important}}

/* Admin console uses dense data tables; lift tiny metrics and labels without
   making financial/KPI numbers or table columns grow uncontrollably. */
.admin-shell .eyebrow,.admin-shell .stats-kpi-caption,
.admin-shell .stats-kpi-label,.admin-shell .stats-panel-note,
.admin-shell .stats-quality-metrics span,.admin-shell .stats-quality-metrics small{
  font-size:12px!important;line-height:1.45!important;
}
.admin-shell .media-editor-info>small,.admin-shell .pricing-package-head small,
.admin-shell .details span,.admin-shell .job b,
.admin-shell .grant-box small{
  font-size:12px!important;line-height:1.45!important;
}
.admin-shell .gate p,.admin-shell .history-list,.admin-shell .empty,
.admin-shell .admin-navigation button{font-size:14px!important;line-height:1.5!important}
.admin-shell .pricing-manager .pricing-field input{font-size:16px!important}
.admin-shell .search-row input{font-size:16px!important}
.admin-shell .user-row small,.admin-shell .user-top small{font-size:13px!important}
.admin-shell .job span{font-size:13px!important}
@media(max-width:560px){.admin-shell .admin-navigation button{font-size:13px!important}}

/* Standalone offer: main legal content readable, including mobile */
body:has(>header.top) .card p{font-size:16px!important;line-height:1.7!important}
body:has(>header.top) .card li{font-size:15px!important;line-height:1.65!important}
body:has(>header.top) .card table{font-size:15px!important;line-height:1.5!important}
body:has(>header.top) .card th{font-size:13px!important}
body:has(>header.top) .intro{font-size:16px!important;line-height:1.6!important}
body:has(>header.top) .edition,body:has(>header.top) .footer{font-size:13px!important}
body:has(>header.top) .back{font-size:14px!important}
@media(max-width:560px){
  body:has(>header.top) .card p{font-size:15px!important}
  body:has(>header.top) .card li{font-size:14px!important}
  body:has(>header.top) .card table{font-size:14px!important}
}
