/* Omvia Cloud v1.9.27 — Mobile/PWA Geometry + Installability Authority. */
:root{--oc27-mobile-gutter:16px;--oc27-mobile-gap:14px;--oc27-mobile-radius:18px}

/* LANDING — the same dedicated share-link glyph used by authentication. */
.ref-feature-grid article:has(h3:nth-child(2)){min-width:0}
.ref-feature-icon .svg{display:block}
.pwa-install-cta{align-items:center;justify-content:center;gap:9px;cursor:pointer}
.pwa-install-cta[hidden]{display:none!important}

/* ACCOUNT — the profile avatar is a real avatar in every responsive state. */
body[data-omvia-route="account.php"] .account-avatar-xl{width:72px!important;height:72px!important;min-width:72px!important;flex:0 0 72px!important;border-radius:20px!important;font-size:26px!important;box-shadow:0 10px 26px color-mix(in srgb,var(--blue) 18%,transparent)!important}
body[data-omvia-route="account.php"] .account-photo-preview .account-avatar-xl{width:84px!important;height:84px!important;min-width:84px!important;flex-basis:84px!important;border-radius:22px!important}
body[data-omvia-route="account.php"] .account-photo-picker{position:relative!important;overflow:hidden!important}
body[data-omvia-route="account.php"] .account-photo-picker input[type="file"]{position:absolute!important;inline-size:1px!important;block-size:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important}
body[data-omvia-route="account.php"] .account-photo-file-name{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;line-height:1.4}

@media(max-width:960px){
  /* Universal secondary-page breathing for mobile/PWA, excluding immersive media. */
  .page-shell:not(.media-immersive-page)>.page-main{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;padding-left:max(var(--oc27-mobile-gutter),env(safe-area-inset-left))!important;padding-right:max(var(--oc27-mobile-gutter),env(safe-area-inset-right))!important;padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
  .page-shell:not(.media-immersive-page) .page-heading{gap:14px!important;margin-bottom:18px!important}

  /* Photos Home / Gallery header: one intentional top row + one search row. */
  .gallery-topbar{box-sizing:border-box!important;grid-template-columns:minmax(0,1fr) 42px 42px 42px!important;grid-template-rows:auto auto!important;gap:10px!important;padding:calc(12px + env(safe-area-inset-top)) max(var(--oc27-mobile-gutter),env(safe-area-inset-right)) 14px max(var(--oc27-mobile-gutter),env(safe-area-inset-left))!important}
  .gallery-mobile-brand{grid-column:1!important;grid-row:1!important;display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;height:46px!important}
  .gallery-mobile-brand img{width:36px!important;height:36px!important;object-fit:contain!important}.gallery-mobile-brand strong{font-size:19px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .gallery-search{grid-column:1/-1!important;grid-row:2!important;height:52px!important;min-height:52px!important;margin:0!important;padding:0 15px!important;border-radius:16px!important}
  .gallery-search input{font-size:15px!important;min-width:0!important}
  .gallery-top-actions{display:contents!important}
  .gallery-top-actions>.gallery-icon-btn:nth-child(1),.gallery-top-actions>.gallery-icon-btn:nth-child(2),.gallery-top-actions>.gallery-icon-btn:nth-child(3){display:none!important}
  .gallery-top-actions>.gallery-icon-btn:nth-child(4){display:grid!important;place-items:center!important;grid-column:2!important;grid-row:1!important}
  .gallery-top-actions>button[data-theme-toggle]{display:grid!important;place-items:center!important;grid-column:3!important;grid-row:1!important}
  .gallery-top-actions>.gallery-icon-btn:nth-child(4),.gallery-top-actions>button[data-theme-toggle],.gallery-account{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;margin:0!important;border-radius:13px!important}
  .gallery-account{display:grid!important;place-items:center!important;grid-column:4!important;grid-row:1!important;padding:0!important}
  .gallery-account>span:not(.avatar),.gallery-account>.svg{display:none!important}.gallery-avatar{width:38px!important;height:38px!important;min-width:38px!important;flex-basis:38px!important;border-radius:12px!important}
  .gallery-main{box-sizing:border-box!important;padding:22px max(var(--oc27-mobile-gutter),env(safe-area-inset-right)) calc(94px + env(safe-area-inset-bottom)) max(var(--oc27-mobile-gutter),env(safe-area-inset-left))!important}
  .gallery-heading-row{margin:0!important;padding:0 0 4px!important}.gallery-heading-row .eyebrow{font-size:10px!important;letter-spacing:.16em!important}.gallery-heading-row h1{font-size:clamp(34px,9vw,42px)!important;line-height:1.02!important;margin:10px 0 8px!important}.gallery-heading-row p{max-width:36rem!important;font-size:14px!important;line-height:1.48!important;margin:0!important}
  .gallery-view-controls{display:flex!important;gap:8px!important;overflow-x:auto!important;margin:16px 0 0!important;padding:0 0 2px!important;scrollbar-width:none!important}.gallery-view-controls::-webkit-scrollbar{display:none!important}.gallery-sort{min-width:150px!important;flex:1 0 auto!important}.gallery-square-btn{flex:0 0 42px!important}
  .gallery-albums{margin:22px 0 18px!important}.gallery-toolbar{margin:0 0 12px!important}

  /* My Account mobile/PWA restructuring. */
  body[data-omvia-route="account.php"] .account-top{box-sizing:border-box!important;min-height:68px!important;padding:calc(10px + env(safe-area-inset-top)) max(var(--oc27-mobile-gutter),env(safe-area-inset-right)) 10px max(var(--oc27-mobile-gutter),env(safe-area-inset-left))!important;gap:10px!important}
  body[data-omvia-route="account.php"] .account-top .admin-brand-logo{width:min(148px,42vw)!important;height:auto!important}.account-top-actions{gap:8px!important}.account-top-actions .lang-toggle,.account-top-actions .icon-btn{width:42px!important;height:42px!important;min-width:42px!important}
  body[data-omvia-route="account.php"] .account-main{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;padding:18px max(var(--oc27-mobile-gutter),env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(var(--oc27-mobile-gutter),env(safe-area-inset-left))!important}
  body[data-omvia-route="account.php"] .page-return-row{margin:0 0 18px!important}.dashboard-return-btn{width:auto!important;min-width:0!important;min-height:44px!important;height:44px!important;padding:0 16px!important;border-radius:14px!important}
  body[data-omvia-route="account.php"] .account-hero{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;align-items:start!important;gap:14px!important;margin:0!important;padding:0 0 22px!important}
  body[data-omvia-route="account.php"] .account-hero>.account-avatar-xl{width:58px!important;height:58px!important;min-width:58px!important;flex-basis:58px!important;border-radius:17px!important;font-size:21px!important}
  body[data-omvia-route="account.php"] .account-hero-copy .eyebrow{font-size:10px!important;letter-spacing:.16em!important;margin:2px 0 7px!important}.account-hero-copy h1{font-size:clamp(34px,9.5vw,44px)!important;line-height:1.02!important;margin:0 0 9px!important}.account-hero-copy p{font-size:15px!important;line-height:1.5!important;margin:0!important}
  body[data-omvia-route="account.php"] .account-layout{gap:14px!important}.account-profile-card,.account-plan-card{border-radius:var(--oc27-mobile-radius)!important}
  body[data-omvia-route="account.php"] .account-profile-card>.section-head,body[data-omvia-route="account.php"] .account-plan-card>.section-head{box-sizing:border-box!important;padding:17px!important;min-height:0!important;gap:12px!important}.account-profile-card>.section-head h2,.account-plan-card>.section-head h2{font-size:20px!important}.account-profile-card>.section-head p,.account-plan-card>.section-head p{font-size:13px!important}
  body[data-omvia-route="account.php"] .account-photo-manager{grid-template-columns:72px minmax(0,1fr)!important;align-items:start!important;justify-items:stretch!important;gap:15px!important;padding:18px 17px!important}
  body[data-omvia-route="account.php"] .account-photo-preview .account-avatar-xl{width:72px!important;height:72px!important;min-width:72px!important;flex-basis:72px!important;border-radius:19px!important}
  body[data-omvia-route="account.php"] .account-photo-copy{gap:6px!important}.account-photo-copy>strong{font-size:16px!important}.account-photo-copy>span{font-size:13px!important}
  body[data-omvia-route="account.php"] .account-photo-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;margin:4px 0 0!important}
  body[data-omvia-route="account.php"] .account-photo-upload-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;width:100%!important;margin:0!important}.account-photo-picker{width:100%!important;min-width:0!important;justify-content:center!important}.account-photo-upload-form>.btn.primary{min-width:118px!important;justify-content:center!important}.account-photo-file-name{grid-column:1/-1!important}
  body[data-omvia-route="account.php"] .account-profile-form{padding:0 17px 18px!important}.account-profile-form .field-grid{gap:13px!important}.account-profile-form .form-control{height:48px!important;border-radius:13px!important}.account-save-btn{width:100%!important;justify-self:stretch!important;min-height:50px!important}
  body[data-omvia-route="account.php"] .account-side{gap:14px!important}.account-plan-body{padding:17px!important;gap:12px!important}.account-action-stack{gap:10px!important}.account-action{min-height:48px!important}
}

@media(max-width:460px){
  :root{--oc27-mobile-gutter:14px}
  body[data-omvia-route="account.php"] .account-photo-manager{grid-template-columns:62px minmax(0,1fr)!important}.account-photo-preview .account-avatar-xl{width:62px!important;height:62px!important;min-width:62px!important;flex-basis:62px!important}
  body[data-omvia-route="account.php"] .account-photo-upload-form{grid-template-columns:1fr!important}.account-photo-upload-form>.btn.primary{width:100%!important}.account-photo-file-name{grid-column:1!important;text-align:center!important}
  body[data-omvia-route="account.php"] .account-action-stack{grid-template-columns:1fr!important}
  .gallery-mobile-brand strong{font-size:18px!important}.gallery-topbar{grid-template-columns:minmax(0,1fr) 40px 40px 40px!important;gap:8px!important}.gallery-top-actions>.gallery-icon-btn:nth-child(4),.gallery-top-actions>button[data-theme-toggle],.gallery-account{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
}


/* v1.9.28 — share-link hardening + Open Cloud hover authority. */
.ref-feature-icon.share-link-icon,.ref-float-icon.link{position:relative;overflow:hidden}
.ref-feature-icon.share-link-icon img,.ref-float-icon.link img{display:block!important;width:24px!important;height:24px!important;object-fit:contain!important;filter:none!important;opacity:1!important}
.ref-feature-icon.share-link-icon svg,.ref-float-icon.link svg{display:none!important}
.ref-land-open-cloud{height:42px;padding:0 18px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--panel);color:var(--text)!important;text-decoration:none;font-size:12px;font-weight:800;box-shadow:0 8px 24px rgba(11,24,48,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease}
.ref-land-open-cloud:hover,.ref-land-open-cloud:focus-visible{transform:translateY(-1px);box-shadow:0 14px 30px rgba(17,57,126,.18);border-color:color-mix(in srgb,var(--blue) 34%,var(--line));background:color-mix(in srgb,var(--blue) 7%,var(--panel));outline:none}
.ref-land-open-cloud .svg{width:16px!important;height:16px!important}
html[data-theme='dark'] .ref-land-open-cloud{background:color-mix(in srgb,var(--panel) 88%,#0a1629);border-color:color-mix(in srgb,var(--line) 84%,#31507f);box-shadow:0 14px 34px rgba(0,0,0,.25)}
@media(max-width:650px){.ref-land-open-cloud{display:none!important}}
