/* CENC Royale v000034d — Platform / Organization split + participant frame fit */

/* The frame is an overlay, but the actual media must live completely inside its safe opening. */
.entry-media.has-premium-frame,
.profile-photo.has-premium-frame,
.checkout-avatar.has-premium-frame{
  --royale-frame-safe-x:7.2%;
  --royale-frame-safe-top:9.6%;
  --royale-frame-safe-bottom:9.1%;
  position:relative;
  background:color-mix(in srgb,var(--theme-surface-elevated) 96%,var(--theme-bg));
}
.entry-media.has-premium-frame>img:not(.royale-participant-frame),
.profile-photo.has-premium-frame>img:not(.royale-participant-frame),
.checkout-avatar.has-premium-frame>img:not(.royale-participant-frame){
  position:absolute!important;
  left:var(--royale-frame-safe-x)!important;
  right:var(--royale-frame-safe-x)!important;
  top:var(--royale-frame-safe-top)!important;
  bottom:var(--royale-frame-safe-bottom)!important;
  width:calc(100% - (var(--royale-frame-safe-x) * 2))!important;
  height:calc(100% - var(--royale-frame-safe-top) - var(--royale-frame-safe-bottom))!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:calc(var(--theme-radius) - 4px);
  background:color-mix(in srgb,var(--theme-bg) 92%,var(--theme-surface));
}
.checkout-avatar.has-premium-frame{
  --royale-frame-safe-x:7.5%;
  --royale-frame-safe-top:10%;
  --royale-frame-safe-bottom:9.5%;
}
.royale-participant-frame{z-index:4!important}

/* Platform home is institutional; organization pages are scoped storefronts. */
.royale-platform-hero .royale-home-hero-content{max-width:min(940px,calc(100vw - 32px))}
.royale-platform-intro{padding-top:clamp(44px,6vw,88px);padding-bottom:clamp(18px,3vw,38px)}
.royale-platform-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.royale-platform-pillars article{padding:clamp(20px,2.6vw,32px);border:1px solid color-mix(in srgb,var(--theme-border) 64%,transparent);border-radius:calc(var(--theme-radius) + 6px);background:linear-gradient(150deg,color-mix(in srgb,var(--theme-surface) 97%,transparent),color-mix(in srgb,var(--theme-primary) 5%,var(--theme-surface)));box-shadow:0 22px 58px rgba(0,0,0,.12)}
.royale-platform-pillars strong,.royale-platform-pillars span{display:block}.royale-platform-pillars strong{font-family:var(--theme-font-display);font-size:clamp(25px,2.4vw,36px);margin:12px 0 8px}.royale-platform-pillars span{color:var(--theme-muted);line-height:1.65}

.royale-organization-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.royale-organization-card{display:flex;flex-direction:column;min-height:260px;padding:clamp(22px,2.8vw,34px);border:1px solid color-mix(in srgb,var(--theme-border) 66%,transparent);border-radius:calc(var(--theme-radius) + 7px);background:linear-gradient(145deg,color-mix(in srgb,var(--theme-surface) 98%,transparent),color-mix(in srgb,var(--theme-primary) 6%,var(--theme-surface)));color:var(--theme-text);text-decoration:none;box-shadow:0 26px 70px rgba(0,0,0,.15);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.royale-organization-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--theme-primary) 48%,var(--theme-border));box-shadow:0 32px 78px rgba(0,0,0,.2)}
.royale-organization-card-icon{width:50px;height:50px}.royale-organization-card h3{font-family:var(--theme-font-display);font-size:clamp(31px,3vw,44px);line-height:1;margin:10px 0 0}.royale-organization-card p{color:var(--theme-muted);margin:18px 0 24px}.royale-organization-card .catalog-card-footer{margin-top:auto}

.royale-organization-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(26px,5vw,78px);align-items:center;padding-top:clamp(44px,6vw,94px);padding-bottom:clamp(40px,6vw,84px)}
.royale-organization-hero h1{font-family:var(--theme-font-display);font-size:clamp(56px,8vw,124px);line-height:.86;letter-spacing:-.045em;margin:18px 0 24px}.royale-organization-hero-copy>p{max-width:850px;color:var(--theme-muted);font-size:clamp(17px,1.6vw,22px);line-height:1.75}
.royale-organization-meta{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.royale-organization-meta>span{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;min-width:160px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--theme-border) 56%,transparent);border-radius:16px;background:color-mix(in srgb,var(--theme-surface) 86%,transparent)}.royale-organization-meta img{grid-row:1/3}.royale-organization-meta small,.royale-organization-meta strong{display:block}.royale-organization-meta small{color:var(--theme-muted);font-size:9px;letter-spacing:.15em}.royale-organization-meta strong{font-size:13px;margin-top:2px}.royale-organization-actions{display:flex;gap:10px;flex-wrap:wrap}
.royale-organization-hero-mark{min-height:320px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--theme-border) 58%,transparent);border-radius:calc(var(--theme-radius) + 14px);background:radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--theme-primary) 18%,transparent),transparent 50%),linear-gradient(145deg,var(--theme-surface),color-mix(in srgb,var(--theme-primary) 6%,var(--theme-surface)));overflow:hidden}.royale-organization-hero-mark .royale-premium-icon{width:min(58%,260px);height:auto}
.royale-organization-context-link{text-decoration:none}.royale-organization-context-link:hover{color:var(--theme-text)}

@media(max-width:1050px){.royale-platform-pillars,.royale-organization-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.royale-organization-hero{grid-template-columns:1fr}.royale-organization-hero-mark{min-height:240px}}
@media(max-width:700px){.royale-platform-pillars,.royale-organization-grid{grid-template-columns:1fr}.royale-organization-card{min-height:220px}.royale-organization-hero{padding-top:30px}.royale-organization-hero h1{font-size:clamp(52px,15vw,80px)}.royale-organization-hero-mark{min-height:190px}.royale-organization-actions .button{width:100%}}


/* CENC Royale v000043 add-on — authored participant media 2:3.
   ENTITY participant artwork is already composed at 1024x1536 (2:3), including its own visual frame.
   It must therefore fill the public media slot directly instead of being contained inside the legacy 4:5 premium frame safe area. */
.entry-media.is-authored-2x3,
.profile-photo.is-authored-2x3{
  aspect-ratio:2/3;
  background:transparent;
}
.entry-media.has-premium-frame.is-authored-2x3>img:not(.royale-participant-frame),
.profile-photo.has-premium-frame.is-authored-2x3>img:not(.royale-participant-frame),
.checkout-avatar.has-premium-frame.is-authored-2x3>img:not(.royale-participant-frame){
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:0!important;
  background:transparent!important;
}
.entry-media.is-authored-2x3 .royale-participant-frame,
.profile-photo.is-authored-2x3 .royale-participant-frame,
.checkout-avatar.is-authored-2x3 .royale-participant-frame{
  display:none!important;
}
.checkout-avatar.is-authored-2x3{
  width:96px;
  height:auto;
  aspect-ratio:2/3;
  background:transparent;
}
@media(max-width:700px){
  .checkout-avatar.is-authored-2x3{width:88px;height:auto}
}
