/* Omvia Cloud 2.0.0 — Stable mobile/i18n geometry authority. Additive; preserves Gallery Viewer lock. */
:root{--oc2-safe-top:env(safe-area-inset-top,0px);--oc2-safe-right:env(safe-area-inset-right,0px);--oc2-safe-bottom:env(safe-area-inset-bottom,0px);--oc2-safe-left:env(safe-area-inset-left,0px)}
html,body{max-width:100%;overflow-x:hidden}
[data-i18n-autofit],button,a,.btn,.files-action-button,.files-filter-strip a,.ref-mobile-nav a,.mobile-nav a{min-width:0}
.lang-toggle{font:inherit;cursor:pointer;border:1px solid var(--line,#d7e2f0);background:var(--panel,#fff);color:var(--text,#0b1730);border-radius:12px;min-width:44px;height:44px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:850;letter-spacing:.08em;line-height:1;box-shadow:none}
html[data-theme="dark"] .lang-toggle{background:var(--panel,#0d1a2d);color:var(--text,#f6f8fc)}
.omvia-universal-lang{position:fixed;right:max(14px,var(--oc2-safe-right));top:calc(max(14px,var(--oc2-safe-top)) + 2px);z-index:4900;width:44px;height:44px;padding:0;border-radius:13px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
/* Do not float a fallback language control over known immersive viewer chrome. */
.media-immersive-page .omvia-universal-lang{display:none!important}
.files-action-button strong,.files-filter-strip span,.ref-mobile-nav span,.mobile-nav span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.files-action-button{padding-inline:14px!important}.files-action-button strong{white-space:normal;text-align:center;line-height:1.08;overflow-wrap:anywhere}
.files-filter-strip{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.files-filter-strip::-webkit-scrollbar{display:none}
.files-filter-strip a{flex:0 0 auto!important;width:auto!important;max-width:none!important;padding-inline:14px!important}.files-filter-strip a span{white-space:nowrap;overflow:visible;text-overflow:clip}
.ref-mobile-nav a,.mobile-nav a,.gallery-mobile-nav a{overflow:hidden}.ref-mobile-nav a span,.mobile-nav a span,.gallery-mobile-nav a span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%;font-size:clamp(9.5px,2.75vw,12px)!important}
@media(max-width:700px){
  .files-heading h1{font-size:clamp(38px,12vw,52px)!important;line-height:.98!important;overflow-wrap:anywhere}
  .files-heading p{font-size:clamp(14px,4vw,17px)!important;line-height:1.55!important}
  .files-primary-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important}
  .files-action-button{width:100%!important;min-width:0!important;min-height:56px!important;height:auto!important;padding:10px 12px!important;gap:9px!important}
  .files-action-button strong{font-size:clamp(15px,4.35vw,18px)!important}
  .files-filter-strip{margin-inline:0!important;padding-inline:0!important;gap:8px!important;overflow-x:auto!important}
  .files-filter-strip a{min-width:max-content!important;height:56px!important;padding:0 16px!important;font-size:clamp(11px,3.45vw,14px)!important;gap:8px!important}
  html.omvia-lang-es .files-filter-strip a{padding-inline:15px!important}
  .ref-mobile-nav,.mobile-nav,.gallery-mobile-nav{padding-left:max(5px,var(--oc2-safe-left))!important;padding-right:max(5px,var(--oc2-safe-right))!important}
  .ref-mobile-nav a,.mobile-nav a,.gallery-mobile-nav a{padding-inline:2px!important}
  .admin-top-actions,.account-top-actions,.page-topbar,.gallery-top-actions{min-width:0;max-width:100%}
  .lang-toggle{min-width:40px;width:40px;height:40px;padding:0;font-size:10px}
  .omvia-universal-lang{right:max(10px,var(--oc2-safe-right));top:calc(max(10px,var(--oc2-safe-top)) + 2px);width:40px;height:40px}
}
@media(max-width:390px){.files-filter-strip a{padding-inline:13px!important}.files-action-button strong{font-size:14.5px!important}.ref-mobile-nav a span,.mobile-nav a span,.gallery-mobile-nav a span{font-size:9.5px!important}}
/* Spanish copy is inherently wider; make generic action rows wrap instead of escaping their controls. */
html.omvia-lang-es :where(.btn,.files-action-button,.gallery-upload,.admin-dashboard-return,.dashboard-return-btn){white-space:normal!important;overflow-wrap:anywhere;text-align:center}
html.omvia-lang-es :where(.section-head,.page-heading,.admin-top,.account-top,.modal-actions){min-width:0;flex-wrap:wrap}
html.omvia-lang-es :where(.section-head>*,.page-heading>*,.admin-top>*,.account-top>*,.modal-actions>*){min-width:0;max-width:100%}
