/*
Theme Name: Apostolado
Theme URI: https://www.apostolado.com.br
Author: Apostolado da Nobre Ordem dos Cavaleiros de Santa Cruz
Author URI: https://www.apostolado.com.br
Description: Tema "Em Breve" (coming soon) em tela cheia para o Apostolado da Nobre Ordem dos Cavaleiros de Santa Cruz. Exibe a arte heráldica imperial em tela cheia, preservando a peça inteira, com moldura sépia e entrada animada.
Version: 1.0.0
Requires at least: 5.0
Tested up to: 6.5
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: apostolado
Tags: coming-soon, full-screen, landing-page, one-page, custom-colors
*/

:root{
  --oxblood:#6e1217;
  --gold:#b8902f;
  --gold-soft:#d8b863;
  --cream:#efe6d0;
  --sepia:#2a2016;
  --sepia-deep:#16100a;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  min-height:100svh;
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(239,230,208,.35), transparent 60%),
    linear-gradient(180deg,#241a10 0%, #1a130b 45%, var(--sepia-deep) 100%);
  color:var(--cream);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  position:relative;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 220px 40px rgba(0,0,0,.55);
  z-index:3;
}

.stage{
  position:relative;
  width:100%;
  height:100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(8px,2.4vh,34px);
  z-index:2;
}

.frame{
  position:relative;
  max-width:min(100%,calc(100svh * 1.75));
  max-height:100%;
  border-radius:6px;
  text-decoration:none;
  display:block;
  line-height:0;
  padding:clamp(4px,0.9vmin,12px);
  background:linear-gradient(145deg, rgba(216,184,99,.9), rgba(140,104,38,.55) 40%, rgba(110,80,30,.8));
  box-shadow:
    0 2px 0 rgba(255,255,255,.18) inset,
    0 0 0 1px rgba(0,0,0,.5),
    0 26px 60px -18px rgba(0,0,0,.85),
    0 6px 22px rgba(0,0,0,.5);
  animation:reveal 1100ms cubic-bezier(.16,.84,.3,1) both;
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease;
  will-change:transform;
}
.frame img{
  display:block;
  width:100%;
  height:auto;
  max-height:calc(100svh - clamp(20px,5vh,72px));
  object-fit:contain;
  border-radius:3px;
}

.frame::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:8px;
  background:radial-gradient(60% 60% at 50% 45%, rgba(216,184,99,.55), transparent 70%);
  opacity:0;
  transition:opacity .55s ease;
  z-index:-1;
  filter:blur(14px);
}
.frame:hover,.frame:focus-visible{
  transform:translateY(-4px) scale(1.006);
  box-shadow:
    0 2px 0 rgba(255,255,255,.22) inset,
    0 0 0 1px rgba(0,0,0,.5),
    0 34px 80px -16px rgba(0,0,0,.9),
    0 0 38px rgba(184,144,47,.45);
  outline:none;
}
.frame:hover::before,.frame:focus-visible::before{opacity:1;}
.frame:focus-visible{outline:2px solid var(--gold-soft);outline-offset:6px;}

.legend{
  position:fixed;
  bottom:max(14px,env(safe-area-inset-bottom));
  left:50%;
  transform:translateX(-50%);
  z-index:4;
  text-align:center;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-size:clamp(9px,1.4vmin,11px);
  color:rgba(216,184,99,.72);
  pointer-events:none;
  animation:fadeUp 1.6s ease 0.6s both;
  text-shadow:0 1px 6px rgba(0,0,0,.8);
}
.legend b{font-weight:600;color:var(--gold-soft);}

@keyframes reveal{
  from{opacity:0; transform:translateY(18px) scale(.965); filter:saturate(.6) brightness(.85);}
  to{opacity:1; transform:translateY(0) scale(1); filter:none;}
}
@keyframes fadeUp{
  from{opacity:0; transform:translate(-50%,10px);}
  to{opacity:1; transform:translate(-50%,0);}
}

@media (prefers-reduced-motion:reduce){
  .frame,.legend{animation:none;}
  .frame{transition:none;}
}
