/* AfiaỌru splash and sign-in (1.19.0). Built on the Parish Sacramental Register launch screen: gold seal, rays, dust, double frame. Emerald and gold. */
html.afs-splashing { overflow: hidden; }
.afs-sp{
  --sp-navy-0:#070c0f; --sp-navy-1:#182832; --sp-navy-2:#2d4858;
  --sp-gold-0:#fff1c4; --sp-gold-1:#f2d27e; --sp-gold-2:#e2b046; --sp-gold-3:#b8862b; --sp-gold-4:#6b4a12;
  position:fixed;inset:0;z-index:2147483000;display:flex;overflow:hidden;
  background:radial-gradient(120% 90% at 50% 0%,var(--sp-navy-2) 0%,var(--sp-navy-1) 45%,var(--sp-navy-0) 100%);
  transition:opacity .75s ease,transform .75s ease;
  animation:afs-sp-fadein .6s ease backwards;
  font-family:'EB Garamond',Georgia,'Times New Roman',serif;
}
.afs-sp::after{ /* vignette */
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55) 100%);
}
.afs-sp.is-leaving{opacity:0;transform:scale(1.03);pointer-events:none}

/* soft light rays turning very slowly behind the seal */
.afs-sp-rays{
  position:absolute;inset:-50%;pointer-events:none;
  background:repeating-conic-gradient(from 0deg,rgba(242,210,126,.06) 0deg 7deg,transparent 7deg 20deg);
  -webkit-mask-image:radial-gradient(circle,#000 3%,transparent 46%);
          mask-image:radial-gradient(circle,#000 3%,transparent 46%);
  animation:afs-sp-spin 90s linear infinite;
}
.afs-sp-glow{
  position:absolute;left:50%;top:38%;width:min(96vw,520px);height:min(96vw,520px);border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(242,210,126,.24),rgba(226,176,70,.06) 58%,transparent);
  transform:translate(-50%,-50%);animation:afs-sp-glow 6s ease-in-out infinite;
}
/* a slow band of light crosses the whole screen */
.afs-sp-sweep{
  position:absolute;top:-10%;bottom:-10%;left:-40%;width:28%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,241,196,.09),transparent);
  transform:skewX(-14deg);animation:afs-sp-sweep 10s ease-in-out 3.4s infinite;
}

/* goods and services icons floating up behind the seal */
.afs-sp-icons{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.afs-sp-icons i{position:absolute;bottom:-12%;display:block;color:var(--sp-gold-2);opacity:0;filter:drop-shadow(0 0 8px rgba(226,176,70,.55));animation:afs-sp-icon 8s ease-in infinite}
.afs-sp-icons svg{display:block;width:28px;height:28px}
.afs-sp-icons i:nth-child(1){left:8%;animation-delay:.4s}
.afs-sp-icons i:nth-child(2){left:22%;animation-delay:2.2s;animation-duration:9s}
.afs-sp-icons i:nth-child(3){left:38%;animation-delay:4.4s}
.afs-sp-icons i:nth-child(4){left:56%;animation-delay:1.2s;animation-duration:8.6s}
.afs-sp-icons i:nth-child(5){left:72%;animation-delay:3.4s;animation-duration:9.4s}
.afs-sp-icons i:nth-child(6){left:86%;animation-delay:5.6s}
.afs-sp-icons i:nth-child(7){left:47%;animation-delay:6.6s;animation-duration:9s}
.afs-sp-icons i:nth-child(8){left:14%;animation-delay:7.4s;animation-duration:8.4s}
@keyframes afs-sp-icon{0%{transform:translateY(0) rotate(-10deg) scale(.9);opacity:0}15%{opacity:.7}80%{opacity:.3}100%{transform:translateY(-112vh) rotate(14deg) scale(1.1);opacity:0}}

/* gold dust drifting upward */
.afs-sp-dusts{position:absolute;inset:0;pointer-events:none}
.afs-sp-dust{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--sp-gold-1);box-shadow:0 0 6px var(--sp-gold-2);opacity:0;animation:afs-sp-dust 9s ease-in infinite}
.afs-sp-dust:nth-child(1){left:12%;top:70%;animation-delay:.2s}
.afs-sp-dust:nth-child(2){left:24%;top:88%;animation-delay:2.4s;width:2px;height:2px}
.afs-sp-dust:nth-child(3){left:38%;top:80%;animation-delay:4.6s}
.afs-sp-dust:nth-child(4){left:52%;top:92%;animation-delay:1.1s;width:4px;height:4px}
.afs-sp-dust:nth-child(5){left:66%;top:76%;animation-delay:5.4s}
.afs-sp-dust:nth-child(6){left:79%;top:86%;animation-delay:3.2s;width:2px;height:2px}
.afs-sp-dust:nth-child(7){left:88%;top:68%;animation-delay:6.6s}
.afs-sp-dust:nth-child(8){left:30%;top:96%;animation-delay:7.4s;width:2px;height:2px}
.afs-sp-dust:nth-child(9){left:72%;top:98%;animation-delay:.8s}

/* double gold frame that draws itself in and breathes */
.afs-sp-frame{
  position:absolute;inset:clamp(12px,3.2vw,26px);pointer-events:none;
  border:1px solid rgba(226,176,70,.6);
  box-shadow:inset 0 0 0 4px var(--sp-navy-0),inset 0 0 0 5px rgba(226,176,70,.3),0 0 22px rgba(226,176,70,.1);
  animation:afs-sp-frame 1.2s cubic-bezier(.2,.8,.2,1) .2s backwards;
}
.afs-sp-c{position:absolute;width:11px;height:11px;background:linear-gradient(135deg,var(--sp-gold-0),var(--sp-gold-2) 55%,var(--sp-gold-3));transform:rotate(45deg);box-shadow:0 2px 0 var(--sp-gold-4),0 0 8px rgba(226,176,70,.45)}
.afs-sp-c.tl{left:-6px;top:-6px}.afs-sp-c.tr{right:-6px;top:-6px}
.afs-sp-c.bl{left:-6px;bottom:-6px}.afs-sp-c.br{right:-6px;bottom:-6px}

/* layout: seal, then a clear gap, then title, tagline and description */
.afs-sp-stage{
  position:relative;z-index:1;width:100%;min-height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:clamp(28px,6vh,56px) 24px clamp(110px,18vh,140px);text-align:center;
}

/* seal: gentle float on the wrapper, tilt on the seal, gold rim, navy face with the crest */
.afs-sp-seal-wrap{
  position:relative;width:clamp(126px,30vw,168px);height:clamp(126px,30vw,168px);
  margin:0 auto clamp(40px,7.5vh,64px);
  animation:afs-sp-float 7s ease-in-out 3.2s infinite;
}
.afs-sp-orbit{ /* a fine dashed ring with a gold point travelling around it */
  position:absolute;inset:-20px;border-radius:50%;pointer-events:none;
  border:1px dashed rgba(226,176,70,.35);
  animation:afs-sp-fadein 1.6s ease 1s backwards,afs-sp-spin 26s linear 1.2s infinite;
}
.afs-sp-orbit::before{
  content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;
  background:var(--sp-gold-0);box-shadow:0 0 10px var(--sp-gold-2),0 0 2px #fff;
}
.afs-sp-seal{
  position:relative;box-sizing:border-box;width:100%;height:100%;border-radius:50%;padding:10px;
  background:conic-gradient(from 20deg,#8c6420,#f2d27e,#b8862b,#fff1c4,#8c6420,#f2d27e,#b8862b,#fff1c4,#8c6420);
  box-shadow:0 2px 0 var(--sp-gold-4),0 9px 0 #3d2a0a,0 20px 34px rgba(0,0,0,.6),inset 0 2px 2px rgba(255,255,255,.55),inset 0 -4px 5px rgba(0,0,0,.35);
  animation:afs-sp-seal-in 1.5s cubic-bezier(.2,.85,.25,1) .15s both,afs-sp-tilt 11s ease-in-out 1.65s infinite;
}
.afs-sp-seal::before{ /* contact shadow below the seal */
  content:"";position:absolute;left:14%;right:14%;bottom:-34px;height:24px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);filter:blur(3px);z-index:-1;
}
.afs-sp-seal::after{ /* a slow light sweep across the metal */
  content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%) no-repeat;
  background-size:260% 100%;background-position:150% 0;mix-blend-mode:screen;
  animation:afs-sp-sheen 6s ease-in-out 3.6s infinite;
}
.afs-sp-seal-face{
  width:100%;height:100%;border-radius:50%;overflow:hidden;position:relative;
  background:radial-gradient(circle at 35% 25%,#f8efdc,#f1e4c4 72%);
  box-shadow:inset 0 5px 12px rgba(0,0,0,.6),0 0 0 2px var(--sp-gold-4);
}
.afs-sp-seal-face img{display:block;width:100%;height:100%;object-fit:cover}

/* title: embossed gold letters that rise in turn, then shimmer in a slow wave */
.afs-sp-title{
  margin:0;max-width:min(92vw,820px);
  font-family:Cinzel,Georgia,'Times New Roman',serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(1.5rem,5.6vw,2.9rem);line-height:1.15;letter-spacing:.07em;
  color:var(--sp-gold-1);
  text-shadow:0 1px 0 var(--sp-gold-0),0 2px 0 var(--sp-gold-3),0 3px 0 var(--sp-gold-4),0 4px 0 #3d2a0a,0 12px 18px rgba(0,0,0,.6);
}
.afs-sp-l{
  display:inline-block;opacity:0;transform-origin:50% 100%;
  transform:translateY(.6em) rotateX(-75deg);
  animation:afs-sp-letter .8s cubic-bezier(.2,.9,.3,1.25) forwards,afs-sp-glint 5s ease-in-out infinite;
  animation-delay:calc(1.05s + var(--i) * 42ms),calc(3.6s + var(--i) * 70ms);
}
.afs-sp-word{display:inline-block;white-space:nowrap}
.afs-sp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.afs-sp-rule{display:flex;align-items:center;gap:12px;width:min(300px,72vw);margin-top:6px;animation:afs-sp-fadein .6s ease 1.95s backwards}
.afs-sp-rule span{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--sp-gold-2),var(--sp-gold-0),var(--sp-gold-2),transparent);box-shadow:0 1px 0 var(--sp-gold-4);animation:afs-sp-grow .9s cubic-bezier(.6,0,.2,1) 2.05s backwards}
.afs-sp-rule b{color:var(--sp-gold-1);font-size:1rem;font-weight:400;line-height:1;text-shadow:0 2px 0 #4a3209,0 0 10px rgba(226,176,70,.5);animation:afs-sp-pop .6s cubic-bezier(.3,1.6,.5,1) 2.4s backwards}

/* site tagline and description */
.afs-sp-tagline{
  margin:18px 0 0;font-style:italic;font-size:clamp(1.05rem,3.4vw,1.3rem);line-height:1.4;letter-spacing:.02em;
  color:rgba(246,239,220,.95);text-shadow:0 2px 6px rgba(0,0,0,.55);
  animation:afs-sp-up .9s ease 2.2s backwards;
}
.afs-sp-desc{
  margin:12px auto 0;max-width:min(540px,88vw);font-size:clamp(.84rem,2.5vw,.98rem);line-height:1.65;
  color:rgba(226,214,180,.78);
  animation:afs-sp-up 1s ease 2.7s backwards;
}

/* loading bar: slim track, gold runner */
.afs-sp-loader{
  position:absolute;left:0;right:0;bottom:clamp(22px,4vh,42px);z-index:1;
  display:flex;flex-direction:column;align-items:center;gap:12px;
  animation:afs-sp-up .8s ease 2.9s backwards;
}
.afs-sp-track{
  position:relative;overflow:hidden;width:min(220px,60vw);height:6px;border-radius:99px;
  background:linear-gradient(#020c07,#111c23);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.85),0 1px 0 rgba(255,255,255,.12);
}
.afs-sp-bar{
  position:absolute;top:0;bottom:0;left:-45%;width:45%;border-radius:99px;
  background:linear-gradient(90deg,transparent,var(--sp-gold-1) 50%,transparent);
  box-shadow:0 0 8px rgba(226,176,70,.5);animation:afs-sp-slide 2.2s cubic-bezier(.45,0,.55,1) infinite;
}
.afs-sp-loading{
  margin:0;font-family:Cinzel,Georgia,serif;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(242,210,126,.8);text-shadow:0 1px 0 #000;
}

/* keyframes */
@keyframes afs-sp-fadein{from{opacity:0}to{opacity:1}}
@keyframes afs-sp-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes afs-sp-seal-in{
  from{opacity:0;transform:perspective(800px) rotateY(-200deg) rotateX(30deg) scale(.45)}
  55%{opacity:1}
  to{opacity:1;transform:perspective(800px) rotateY(0) rotateX(0) scale(1)}
}
@keyframes afs-sp-tilt{
  0%,100%{transform:perspective(800px) rotateX(0) rotateY(0)}
  25%{transform:perspective(800px) rotateX(5deg) rotateY(-7deg)}
  75%{transform:perspective(800px) rotateX(-4deg) rotateY(7deg)}
}
@keyframes afs-sp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes afs-sp-sheen{0%,35%{background-position:150% 0}75%,100%{background-position:-60% 0}}
@keyframes afs-sp-sweep{0%{left:-40%}60%,100%{left:120%}}
@keyframes afs-sp-frame{from{opacity:0;transform:scale(1.05)}to{opacity:1;transform:none}}
@keyframes afs-sp-letter{to{opacity:1;transform:none}}
@keyframes afs-sp-glint{
  0%,100%{color:var(--sp-gold-1)}
  8%{color:#fff8e0}
  16%{color:var(--sp-gold-1)}
}
@keyframes afs-sp-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes afs-sp-pop{from{opacity:0;transform:scale(.2) rotate(-90deg)}to{opacity:1;transform:none}}
@keyframes afs-sp-spin{to{transform:rotate(360deg)}}
@keyframes afs-sp-glow{
  0%,100%{transform:translate(-50%,-50%) scale(.94);opacity:.8}
  50%{transform:translate(-50%,-50%) scale(1.06);opacity:1}
}
@keyframes afs-sp-dust{
  0%{opacity:0;transform:translateY(0)}
  20%{opacity:.8}
  100%{opacity:0;transform:translateY(-38vh)}
}
@keyframes afs-sp-slide{from{left:-45%}to{left:100%}}
/* no JavaScript: the splash still clears itself at 10 seconds */
.afs-sp:not([data-js]){animation:afs-sp-fadeout .75s ease 9.25s forwards}
@keyframes afs-sp-fadeout{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:hidden}100%{opacity:0;visibility:hidden}}

@media (max-width:480px){
  .afs-sp-title{letter-spacing:.04em}
  .afs-sp-stage{padding-bottom:clamp(120px,22vh,150px)}
}
@media (prefers-reduced-motion:reduce){
  .afs-sp *,.afs-sp *::before,.afs-sp *::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ---------- Sign-in screen (the [afiaoru_login] screen), CCMS sign-in look ---------- */
.afl, .afl * { box-sizing: border-box; }
.afl { position: relative; overflow: hidden; isolation: isolate; min-height: 100vh; min-height: 100dvh; margin: -4px 0 0;
  display: flex; align-items: center; justify-content: center; padding: 24px 16px;
  font-family: 'Lora', Georgia, 'Times New Roman', serif; font-size: 16px; line-height: 1.5; color: #1c2733;
  background: radial-gradient(90% 70% at 50% 0%, rgba(84, 115, 135,.55) 0%, rgba(43, 70, 87,0) 70%), linear-gradient(180deg, #2b4657 0%, #1e323e 50%, #17262f 100%); }
.afl::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: repeating-linear-gradient(180deg, transparent 0, transparent 27px, rgba(226,176,70,.07) 27px, rgba(226,176,70,.07) 28px);
  -webkit-mask-image: radial-gradient(70% 60% at 50% 45%, #000 0%, transparent 100%); mask-image: radial-gradient(70% 60% at 50% 45%, #000 0%, transparent 100%); }
.afl-stage { width: 100%; max-width: 440px; padding-top: 44px; }
.afl-card { position: relative; width: 100%; padding: 64px 28px 26px; border-radius: 20px;
  background: linear-gradient(180deg, #fffdf6 0%, #fbf7ec 38%, #efe5cb 100%); border: 1px solid rgba(124,87,16,.55);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.95), inset 0 -2px 0 rgba(182,135,42,.22), 0 2px 0 #c99a35, 0 4px 0 #7c5710, 0 6px 0 #4d3608, 0 22px 34px -8px rgba(0,0,0,.6), 0 46px 80px -24px rgba(0,0,0,.65);
  animation: afl-rise .45s ease-out both; }
.afl-card::before { content: ""; position: absolute; inset: 8px; border-radius: 14px; pointer-events: none; border: 1px solid rgba(182,135,42,.5); box-shadow: 0 1px 0 rgba(255,255,255,.9); }
.afl-medal { position: relative; z-index: 1; width: 96px; height: 96px; margin: -96px auto 16px; padding: 6px; border-radius: 50%;
  background: linear-gradient(145deg, #fff1b8 0%, #e2b046 45%, #7c5710 100%);
  box-shadow: inset 0 2px 2px rgba(255,255,255,.75), 0 2px 0 #7c5710, 0 5px 0 #4d3608, 0 14px 22px rgba(0,0,0,.5); }
.afl-medal-in { width: 100%; height: 100%; border-radius: 50%; display: grid; place-items: center;
  background: radial-gradient(circle at 34% 24%, #547387 0%, #1e323e 45%, #121d24 100%); border: 2px solid rgba(255,225,140,.55);
  box-shadow: inset 0 4px 10px rgba(0,0,0,.75), inset 0 -2px 3px rgba(255,255,255,.14);
  font-family: 'Cinzel', 'Lora', Georgia, serif; font-size: 40px; font-weight: 800; color: #f5df9b; text-shadow: 0 2px 0 rgba(0,0,0,.6); }
.afl-org { margin: 0; text-align: center; font-size: 13px; font-weight: 600; line-height: 1.3; letter-spacing: .18em; text-transform: uppercase; color: #7c5710; }
.afl-name { margin: 4px 0 0; text-align: center; font-family: 'Cinzel', 'Lora', Georgia, serif; font-size: 30px; font-weight: 700; line-height: 1.15; color: #1e323e; text-shadow: 0 1px 0 #fff, 0 -1px 0 rgba(0,0,0,.14); }
.afl-rule { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: #b6872a; font-size: 14px; line-height: 1; }
.afl-rule::before, .afl-rule::after { content: ""; flex: 1; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, #b6872a); box-shadow: 0 1px 0 rgba(255,255,255,.9); }
.afl-rule::after { background: linear-gradient(270deg, transparent, #b6872a); }
.afl-welcome { margin: 0; font-size: 22px; font-weight: 600; line-height: 1.25; color: #1e323e; text-shadow: 0 1px 0 #fff; }
.afl-lede { margin: 6px 0 18px; font-size: 15px; line-height: 1.5; color: #5b6674; }
.afl form { margin: 0; }
.afl form p { margin: 0 0 18px; }
.afl form label { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 700; line-height: 1.3; color: #1e323e; text-shadow: 0 1px 0 #fff; }
.afl form input[type=text], .afl form input[type=password] { width: 100%; height: 52px; margin: 0; padding: 0 16px; border-radius: 12px;
  border: 1px solid #b9ad88; background: linear-gradient(180deg, #f3ede0 0%, #ffffff 30%); font-family: 'Lora', Georgia, serif; font-size: 16px; color: #1c2733;
  box-shadow: inset 0 3px 6px rgba(30, 50, 62,.2), inset 0 0 0 1px rgba(255,255,255,.4), 0 1px 0 #fff; }
.afl form input[type=text]:focus, .afl form input[type=password]:focus { outline: none; border-color: #b6872a;
  box-shadow: inset 0 3px 6px rgba(30, 50, 62,.2), 0 0 0 3px rgba(226,176,70,.45), 0 1px 0 #fff; }
.afl form .login-remember { margin: 0 0 22px; }
.afl form .login-remember label { display: inline-flex; align-items: center; gap: 10px; font-weight: 500; color: #1c2733; text-shadow: none; }
.afl form .login-remember input { width: 22px; height: 22px; margin: 0; accent-color: #1e323e; }
.afl form input[type=submit], .afl form #wp-submit { display: block; width: 100%; height: 54px; margin: 0; padding: 0 24px; cursor: pointer;
  border: 2px solid #b6872a; border-radius: 14px; font-family: 'Lora', Georgia, serif; font-size: 17px; font-weight: 700; letter-spacing: .05em; color: #fff4d0; text-shadow: 0 -1px 0 rgba(0,0,0,.55);
  background: linear-gradient(180deg, #547387 0%, #2b4657 46%, #1e323e 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), inset 0 -4px 8px rgba(0,0,0,.35), 0 4px 0 #7c5710, 0 6px 0 #4d3608, 0 14px 20px rgba(30, 50, 62,.4);
  transition: filter .15s, transform .08s, box-shadow .08s; }
.afl form input[type=submit]:hover { filter: brightness(1.1); }
.afl form input[type=submit]:active { transform: translateY(4px); box-shadow: inset 0 1px 0 rgba(255,255,255,.4), inset 0 -2px 5px rgba(0,0,0,.4), 0 0 0 #7c5710, 0 2px 0 #4d3608, 0 4px 8px rgba(30, 50, 62,.35); }
.afl-help { margin: 22px 0 0; padding-top: 18px; text-align: center; font-size: 14px; line-height: 1.55; color: #5b6674; border-top: 2px solid transparent; border-image: linear-gradient(90deg, transparent, rgba(182,135,42,.55), transparent) 1; }
.afl-help a { color: #1e323e; font-weight: 700; }
.afl-foot { margin: 22px 0 0; text-align: center; font-size: 13px; color: rgba(255,241,184,.72); text-shadow: 0 1px 2px rgba(0,0,0,.6); }
@keyframes afl-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (max-width: 480px) { .afl-card { padding: 60px 20px 22px; } .afl-name { font-size: 26px; } }

@media (prefers-reduced-motion: reduce) {
  .afs-sp *, .afs-sp:before { animation-duration: .01ms !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; }
  .afs-sp-rays, .afs-sp-notes { display: none; }
  .afs-sp-bar b { width: 100%; }
  .afl-card { animation: none; }
}


/* ==========================================================================
   Sign-in and Create-account pages (1.19.0)
   Built on the Parish Sacramental Register sign-in: a dark letterhead panel with gold
   rules, joined to a cream card; Garamond and Cinzel lettering; inset fields; a raised
   gold-edged button. Emerald and gold. No footer.
   Page > .woocommerce > [notices] .afa-lh (letterhead) .u-columns > .u-column1 | .u-column2 (card)
   ========================================================================== */
body.afa-auth-page {
  --e0: #070c0f; --e1: #16252e; --e2: #1e323e; --e3: #2b4657;
  --g0: #fff1c4; --g1: #f2d27e; --g2: #e2b046; --g3: #b8862b; --g4: #6b4a12; --gd: #3d2a0a;
  --ink: #16252e; --muted: #5b6674; --line: #b9ad88;
  background:
    radial-gradient(600px 400px at 15% 20%, rgba(226,176,70,.20), transparent 70%),
    radial-gradient(700px 500px at 85% 80%, rgba(242,210,126,.14), transparent 70%),
    linear-gradient(160deg, #070c0f, #16252e 55%, #0e171c) !important;
  background-size: 140% 140%, 140% 140%, 100% 100% !important; background-color: #070c0f !important;
  animation: afa-drift 24s ease-in-out infinite alternate;
  min-height: 100vh; margin: 0; color: #1c2733; -webkit-font-smoothing: antialiased;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
@keyframes afa-drift { from { background-position: 0 0, 100% 100%, 0 0; } to { background-position: 100% 100%, 0 0, 0 0; } }
@keyframes afa-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
body.afa-auth-page, body.afa-auth-page .woocommerce, body.afa-auth-page .woocommerce *, body.afa-auth-page .woocommerce *:before, body.afa-auth-page .woocommerce *:after { box-sizing: border-box; }

/* Theme wrappers add no width, padding or colour */
body.afa-auth-page .site-main, body.afa-auth-page .content-area, body.afa-auth-page .content-container, body.afa-auth-page .site-container,
body.afa-auth-page .entry-content, body.afa-auth-page .entry-content-wrap, body.afa-auth-page article, body.afa-auth-page .content-wrap {
  margin: 0 !important; padding: 0 !important; max-width: none !important; width: 100% !important; background: transparent !important; box-shadow: none !important; border: 0 !important;
}
body.afa-auth-page #masthead, body.afa-auth-page .site-header, body.afa-auth-page .afiaoru-tabbar, body.afa-auth-page .afl-foot, body.afa-auth-page footer { display: none !important; }
body.afa-auth-page.afiaoru-app-shell { padding-bottom: 0 !important; }

/* Page column: 420px, centred, same as the register sign-in */
body.afa-auth-page .woocommerce { width: 100%; max-width: 388px; min-height: 100vh; margin: 0 auto !important; padding: 24px 24px !important; display: flex; flex-direction: column; justify-content: center; }
body.afa-auth-page .u-columns { display: block !important; width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; }
body.afa-auth-page:not(.afa-create-page) .u-column2, body.afa-auth-page.afa-create-page .u-column1 { display: none !important; }

/* ---------- Letterhead panel ---------- */
body.afa-auth-page .afa-lh {
  position: relative; overflow: hidden; width: 100%; text-align: center; border-radius: 14px 14px 0 0; border: 1px solid rgba(226,176,70,.38); border-bottom: 0;
  background: linear-gradient(160deg, #070c0f 0%, #1c2d38 50%, #070c0f 100%);
  box-shadow: inset 0 1px 0 rgba(255,241,196,.28), inset 0 -2px 0 rgba(0,0,0,.4), 0 0 0 1px #6b4a12, 0 -2px 18px rgba(226,176,70,.18), 0 4px 6px rgba(0,0,0,.28), 0 14px 24px -8px rgba(0,0,0,.5);
  animation: afa-rise .9s cubic-bezier(.22,.8,.3,1) .05s backwards;
}
body.afa-auth-page .afa-lh:before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 50% 45%, rgba(226,176,70,.14) 0%, transparent 70%); }
body.afa-auth-page .afa-lh:after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: #f2d27e; opacity: .6; }
body.afa-auth-page .afa-lh-orn { position: relative; display: flex; justify-content: space-between; padding: 8px 20px 0; font-size: 11px; letter-spacing: .2em; color: #e2b046; opacity: .7; }
body.afa-auth-page .afa-lh-orn.b { padding: 0 20px 8px; }
body.afa-auth-page .afa-lh-body { position: relative; z-index: 1; padding: 6px 20px 12px; }
body.afa-auth-page .afa-lh-seal {
  width: 64px; height: 64px; margin: 4px auto 10px; padding: 4px; border-radius: 50%;
  background: conic-gradient(from 20deg, #8c6420, #f2d27e, #b8862b, #fff1c4, #8c6420, #f2d27e, #b8862b, #fff1c4, #8c6420);
  box-shadow: 0 2px 0 #6b4a12, 0 5px 0 #3d2a0a, 0 12px 18px rgba(0,0,0,.55), inset 0 1px 1px rgba(255,255,255,.55);
}
body.afa-auth-page .afa-lh-seal span { display: block; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; background: #f8efdc; box-shadow: inset 0 3px 6px rgba(0,0,0,.45), 0 0 0 1px #6b4a12; }
body.afa-auth-page .afa-lh-seal img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.afa-auth-page .afa-lh-kicker { font-family: 'Cinzel', Georgia, serif; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: #f2d27e; text-shadow: 0 1px 0 rgba(0,0,0,.5); }
body.afa-auth-page .afa-lh-rule { width: 90px; height: 2px; margin: 7px auto; background: linear-gradient(to right, transparent, #e2b046, transparent); }
body.afa-auth-page .afa-lh-name { font-family: 'EB Garamond', Georgia, serif; font-size: 31px; font-weight: 600; line-height: 1.1; color: #fff; text-shadow: 0 2px 0 rgba(0,0,0,.45), 0 4px 10px rgba(0,0,0,.35); }
body.afa-auth-page .afa-lh-tag { margin-top: 2px; font-family: 'EB Garamond', Georgia, serif; font-size: 14px; font-style: italic; color: rgba(255,255,255,.68); }
body.afa-auth-page .afa-lh-sub { font-family: 'Cinzel', Georgia, serif; font-size: 8.8px; letter-spacing: .18em; text-transform: uppercase; color: #e2b046; }

/* ---------- The card ---------- */
body.afa-auth-page .u-column1, body.afa-auth-page .u-column2 {
  position: relative; float: none !important; clear: both; width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 24px 24px 20px !important;
  border: 1px solid rgba(226,176,70,.38) !important; border-top: 0 !important; border-radius: 0 0 14px 14px !important;
  background: linear-gradient(180deg, #fffdf6 0%, #fbf7ec 45%, #f1e8d0 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.95), inset 0 -10px 22px -14px rgba(182,135,42,.30), 0 0 0 1px #6b4a12, 0 3px 5px rgba(0,0,0,.28), 0 14px 24px -6px rgba(0,0,0,.42), 0 32px 52px -18px rgba(0,0,0,.58), 0 56px 90px -34px rgba(0,0,0,.65) !important;
  animation: afa-rise .9s cubic-bezier(.22,.8,.3,1) .25s backwards;
}
body.afa-auth-page .u-column1:before, body.afa-auth-page .u-column2:before { content: none !important; display: none !important; }

/* Card heading */
body.afa-auth-page .afa-sep { display: block; margin: 0 0 4px; text-align: center; font-size: 16px; line-height: 1; color: #b6872a; text-shadow: 0 1px 0 #fff; }
body.afa-auth-page .u-column1 h2, body.afa-auth-page .u-column2 h2 {
  margin: 0 0 4px !important; padding: 0 !important; border: 0 !important; text-align: center; font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 28px !important; font-weight: 600 !important; line-height: 1.15 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ink) !important; text-shadow: 0 1px 0 #fff;
}
body.afa-auth-page .afa-lede { margin: 0 0 18px !important; padding: 0 !important; text-align: center; font-size: 13px; line-height: 1.45; color: var(--muted); }

/* Soft pool of light behind the card, and a floor shadow under it */
body.afa-auth-page:before { content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none; background: radial-gradient(50% 38% at 50% 42%, rgba(255,236,170,.13) 0%, rgba(255,236,170,0) 72%), radial-gradient(120% 90% at 50% 50%, rgba(0,0,0,0) 58%, rgba(0,0,0,.38) 100%); }
body.afa-auth-page .woocommerce { position: relative; z-index: 1; }
body.afa-auth-page .u-columns { position: relative; }
body.afa-auth-page .u-columns:after { content: ""; position: absolute; left: 8%; right: 8%; bottom: -30px; height: 26px; z-index: -1; pointer-events: none; background: radial-gradient(closest-side, rgba(0,0,0,.55), transparent); filter: blur(5px); }

/* ---------- Goods and services animations ---------- */
/* a word that changes: Trusted local services / goods / repairs / deliveries */
body.afa-auth-page .afa-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.afa-auth-page .afa-rot { position: relative; display: block; width: 100%; height: 1.7em; margin: 3px 0 0; overflow: hidden; font-size: 1.18em; letter-spacing: .3em; }
body.afa-auth-page .afa-rot i { position: absolute; left: 0; right: 0; top: 0; padding-left: .3em; font-style: normal; font-weight: 700; text-align: center; color: #fff1c4; text-shadow: 0 0 12px rgba(226,176,70,.7), 0 1px 0 rgba(0,0,0,.5); opacity: 0; transform: translateY(70%); animation: afa-rot 12s ease-in-out infinite; }
body.afa-auth-page .afa-rot i:nth-child(2) { animation-delay: 3s; } body.afa-auth-page .afa-rot i:nth-child(3) { animation-delay: 6s; } body.afa-auth-page .afa-rot i:nth-child(4) { animation-delay: 9s; }
@keyframes afa-rot { 0% { opacity: 0; transform: translateY(70%); } 4%, 22% { opacity: 1; transform: none; } 26%, 100% { opacity: 0; transform: translateY(-70%); } }
/* a strip of goods and service icons drifting slowly past */
body.afa-auth-page .afa-lh-strip { position: relative; z-index: 1; margin: 2px 0 0; padding: 7px 0 6px; overflow: hidden; border-top: 1px solid rgba(226,176,70,.28);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent); mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent); }
body.afa-auth-page .afa-lh-track { display: flex; width: max-content; gap: 26px; padding-right: 26px; animation: afa-strip 26s linear infinite; }
body.afa-auth-page .afa-lh-track svg { flex: 0 0 auto; display: block; width: 20px; height: 20px; color: #e2b046; opacity: .85; filter: drop-shadow(0 0 5px rgba(226,176,70,.45)); }
body.afa-auth-page .afa-lh-track svg:nth-child(3n) { color: #f2d27e; }
@keyframes afa-strip { to { transform: translateX(-50%); } }
/* heading ornament pulses; heading carries a slow band of light */
body.afa-auth-page .afa-sep { animation: afa-pulse 3.2s ease-in-out infinite; }
@keyframes afa-pulse { 0%, 100% { transform: scale(.92) rotate(0); opacity: .75; } 50% { transform: scale(1.18) rotate(90deg); opacity: 1; text-shadow: 0 0 10px rgba(226,176,70,.8), 0 1px 0 #fff; } }
body.afa-auth-page .u-column1 h2, body.afa-auth-page .u-column2 h2 {
  background: linear-gradient(100deg, #16252e 0%, #16252e 38%, #b8862b 50%, #16252e 62%, #16252e 100%) !important; background-size: 250% 100% !important;
  -webkit-background-clip: text !important; background-clip: text !important; -webkit-text-fill-color: transparent !important; color: transparent !important; text-shadow: none !important;
  animation: afa-heading 7s ease-in-out 1.2s infinite;
}
@keyframes afa-heading { 0%, 25% { background-position: 120% 0; } 65%, 100% { background-position: -20% 0; } }

/* Messages sit inside the card, above the form */
body.afa-auth-page .woocommerce-notices-wrapper { width: 100%; margin: 0; }
body.afa-auth-page .woocommerce-error, body.afa-auth-page .woocommerce-message, body.afa-auth-page .woocommerce-info {
  list-style: none; margin: 0 0 14px !important; padding: 10px 14px !important; border: 1px solid #d9a3a3 !important; border-left: 4px solid #8f2b2b !important; border-radius: 8px !important;
  background: #fdf1f1 !important; color: #8f2b2b !important; font-size: 13.5px; line-height: 1.5; text-align: left;
}
body.afa-auth-page .woocommerce-message, body.afa-auth-page .woocommerce-info { border-color: #c0c9cf !important; border-left-color: var(--e3) !important; background: #f2f5f6 !important; color: #1f303a !important; }
body.afa-auth-page .woocommerce-error:before, body.afa-auth-page .woocommerce-message:before, body.afa-auth-page .woocommerce-info:before { display: none !important; }
body.afa-auth-page .woocommerce-error li { margin: 0; padding: 0; list-style: none; }
body.afa-auth-page .woocommerce-error a { color: inherit !important; font-weight: 700; }

/* The form is not a box (WooCommerce and the app theme add one) */
body.afa-auth-page form.woocommerce-form, body.afa-auth-page form.login, body.afa-auth-page form.register {
  display: block; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; text-align: left;
}

/* Fields */
body.afa-auth-page form .form-row, body.afa-auth-page form .woocommerce-form-row, body.afa-auth-page form .afa-field {
  display: block; float: none !important; clear: none !important; width: 100% !important; margin: 0 0 14px !important; padding: 0 !important;
}
body.afa-auth-page form label {
  display: block; margin: 0 0 5px !important; padding: 0; font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); text-shadow: 0 1px 0 #fff;
}
body.afa-auth-page form label .required, body.afa-auth-page form .required { color: #8f2b2b; text-decoration: none; border: 0; margin-left: 2px; }
body.afa-auth-page form input[type=text], body.afa-auth-page form input[type=email], body.afa-auth-page form input[type=tel], body.afa-auth-page form input[type=password] {
  display: block; width: 100% !important; max-width: 100%; min-width: 0; height: 48px !important; min-height: 48px; margin: 0 !important; padding: 0 14px !important;
  border: 1px solid var(--line) !important; border-radius: 10px !important; background: linear-gradient(180deg, #efe5cb 0%, #fff 32%) !important;
  box-shadow: inset 0 2px 4px rgba(77,54,8,.22), 0 1px 0 #fff !important; font-family: inherit; font-size: 16px !important; line-height: normal; color: #1c2733 !important;
  -webkit-appearance: none; appearance: none; transition: border-color .2s, box-shadow .2s;
}
body.afa-auth-page form input::placeholder { color: #8d8f8a; opacity: 1; }
body.afa-auth-page form input:focus { outline: 0 !important; border-color: #b6872a !important; box-shadow: inset 0 2px 4px rgba(77,54,8,.22), 0 0 0 3px rgba(226,176,70,.45) !important; }

/* Password: eye inside the right edge */
body.afa-auth-page .afa-pw { position: relative; display: block; width: 100%; }
body.afa-auth-page .afa-pw input { padding-right: 50px !important; }
body.afa-auth-page .afa-eye {
  position: absolute !important; top: 50% !important; right: 4px !important; transform: translateY(-50%); display: flex !important; align-items: center; justify-content: center;
  width: 42px !important; height: 42px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 8px !important;
  background: none !important; box-shadow: none !important; color: #6b5a2c !important; opacity: .6; font-size: 0 !important; line-height: 0 !important; cursor: pointer;
}
body.afa-auth-page .afa-eye:hover { opacity: 1; background: rgba(226,176,70,.18) !important; }
body.afa-auth-page .afa-eye:focus-visible { outline: 3px solid rgba(226,176,70,.8); outline-offset: 1px; opacity: 1; }
body.afa-auth-page .afa-eye svg { display: block; width: 21px; height: 21px; }
body.afa-auth-page .show-password-input, body.afa-auth-page .password-input .show-password-input { display: none !important; }
body.afa-auth-page .password-input { display: block !important; position: static !important; }
body.afa-auth-page input[type=password]::-ms-reveal, body.afa-auth-page input[type=password]::-ms-clear { display: none !important; }
body.afa-auth-page input::-webkit-credentials-auto-fill-button, body.afa-auth-page input::-webkit-contacts-auto-fill-button, body.afa-auth-page input::-webkit-strong-password-auto-fill-button { display: none !important; visibility: hidden !important; pointer-events: none !important; }
body.afa-auth-page .afa-hint { display: block; margin: 6px 2px 0 !important; font-size: 12px; line-height: 1.4; color: var(--muted); }

/* Sign-in: label left, "Forgot password?" right */
body.afa-auth-page .afa-pwhead { display: flex !important; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0 0 5px !important; }
body.afa-auth-page .afa-pwhead label { margin: 0 !important; }
body.afa-auth-page .afa-pwhead a { font-size: 12.5px; font-weight: 700; color: var(--e3) !important; text-decoration: none; white-space: nowrap; }
body.afa-auth-page .afa-pwhead a:hover, body.afa-auth-page .afa-switch-link a:hover { text-decoration: underline; }

/* Remember me, then the button on its own row */
body.afa-auth-page form .form-row.afa-actions { margin: 0 !important; }
body.afa-auth-page label.woocommerce-form-login__rememberme {
  display: flex !important; align-items: center; gap: 8px; width: auto; margin: 0 0 16px !important; font-size: 13px; font-weight: 400; line-height: 1.3; letter-spacing: 0; text-transform: none; color: var(--muted); text-shadow: none; cursor: pointer;
}
body.afa-auth-page input[type=checkbox] { width: 18px !important; height: 18px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; flex: 0 0 18px; accent-color: var(--e2); }

/* Names side by side */
body.afa-auth-page .afa-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 14px; }
body.afa-auth-page .afa-row .afa-field { margin: 0 !important; min-width: 0; }
@media (max-width: 340px) { body.afa-auth-page .afa-row { grid-template-columns: 1fr; gap: 14px; } }

/* Sign-up group headings */
body.afa-auth-page .afa-sec { margin: 0 0 4px; padding: 0; border: 0; background: none; }
body.afa-auth-page .afa-sec h3 { display: flex; align-items: center; gap: 10px; margin: 2px 0 12px !important; padding: 0 !important; font-family: 'Cinzel', Georgia, serif; font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .18em; text-transform: uppercase; color: #8a6a1f; text-shadow: 0 1px 0 #fff; }
body.afa-auth-page .afa-sec h3:after { content: ""; flex: 1; height: 1px; background: linear-gradient(to right, #d9cca6, transparent); box-shadow: 0 1px 0 #fff; }

/* Terms */
body.afa-auth-page .afa-terms { display: block; margin: 2px 0 16px !important; padding: 0 !important; }
body.afa-auth-page .afa-terms label { display: flex !important; align-items: flex-start; gap: 9px; margin: 0 !important; font-size: 13px; font-weight: 400; line-height: 1.5; letter-spacing: 0; text-transform: none; color: var(--muted); text-shadow: none; cursor: pointer; }
body.afa-auth-page .afa-terms input[type=checkbox] { margin-top: 2px !important; }
body.afa-auth-page .afa-terms span { flex: 1; min-width: 0; }
body.afa-auth-page .afa-terms a { color: var(--e3) !important; font-weight: 700; text-decoration: none; }

/* Button: raised emerald with a gold edge, light sheen on hover */
body.afa-auth-page form button[type=submit], body.afa-auth-page form .woocommerce-Button, body.afa-auth-page form .button {
  position: relative; overflow: hidden; display: flex !important; align-items: center; justify-content: center; width: 100% !important; min-height: 50px !important; height: 50px !important; margin: 0 !important; padding: 0 20px !important;
  border: 1px solid #f2d27e !important; border-radius: 12px !important; background: linear-gradient(180deg, #335266 0%, #16252e 100%) !important; color: #fff1b8 !important;
  font-family: inherit !important; font-size: 16px !important; font-weight: 700 !important; letter-spacing: .04em !important; text-transform: none !important; text-shadow: 0 1px 0 rgba(0,0,0,.5) !important; cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 4px 0 #4d3608, 0 6px 0 #2c1e04, 0 14px 20px -6px rgba(8, 12, 15,.55) !important;
  transition: transform .1s, box-shadow .1s, filter .2s; -webkit-appearance: none; appearance: none;
}
body.afa-auth-page form button[type=submit]:after { content: ""; position: absolute; top: 0; bottom: 0; left: -70%; width: 40%; pointer-events: none; background: linear-gradient(100deg, transparent, rgba(255,241,196,.45), transparent); transform: skewX(-16deg); transition: left .7s cubic-bezier(.22,.8,.3,1); }
body.afa-auth-page form button[type=submit]:hover { filter: brightness(1.1); }
body.afa-auth-page form button[type=submit]:hover:after { left: 130%; }
body.afa-auth-page form button[type=submit]:active { transform: translateY(4px); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 0 0 #4d3608, 0 1px 0 #2c1e04 !important; }
body.afa-auth-page form button[type=submit]:focus-visible { outline: 3px solid rgba(226,176,70,.8); outline-offset: 3px; }

/* Link under the form, with a hairline above it */
body.afa-auth-page .afa-switch-link { margin: 20px 0 0 !important; padding: 14px 0 0 !important; border-top: 1px solid #d9cca6; box-shadow: 0 -1px 0 #fff; text-align: center; font-size: 13px; color: var(--muted); }
body.afa-auth-page .afa-switch-link a { color: var(--e3) !important; font-weight: 700; text-decoration: none; }

/* Not used on these pages */
body.afa-auth-page .woocommerce-privacy-policy-text, body.afa-auth-page .woocommerce-LostPassword, body.afa-auth-page .woocommerce-form-register__notice { display: none !important; }

@media (max-width: 480px) {
  body.afa-auth-page .woocommerce { padding: 18px 24px !important; }
  body.afa-auth-page .u-column1, body.afa-auth-page .u-column2 { padding: 22px 20px 18px !important; }
  body.afa-auth-page .afa-lh-name { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) { body.afa-auth-page, body.afa-auth-page .afa-lh, body.afa-auth-page .u-column1, body.afa-auth-page .u-column2, body.afa-auth-page .afa-sep, body.afa-auth-page .afa-lh-track, body.afa-auth-page h2 { animation: none !important; } body.afa-auth-page .afa-rot i:first-child { opacity: 1; transform: none; } }


/* ===== 1.19.0: sign-up animations, even alignment and padding, classic shadows (sign-in and sign-up) ===== */
@keyframes afa-pop { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: none; } }

/* Classic shadows: one soft drop shadow and a thin gold edge on the card */
body.afa-auth-page .u-column1, body.afa-auth-page .u-column2 {
  border: 1px solid #d8b96a !important; border-top: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 0 0 4px rgba(226,176,70,.10), 0 2px 3px rgba(0,0,0,.18), 0 18px 36px -14px rgba(0,0,0,.45) !important;
}
body.afa-auth-page form button[type=submit], body.afa-auth-page form .woocommerce-Button, body.afa-auth-page form .button {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 3px 0 #4d3608, 0 10px 16px -8px rgba(8, 12, 15,.55) !important;
}
body.afa-auth-page form button[type=submit]:active { box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 0 #4d3608 !important; }

/* Even alignment and padding */
body.afa-auth-page .woocommerce { padding: 22px 22px 34px !important; }
body.afa-auth-page .u-column1, body.afa-auth-page .u-column2 { padding: 26px 26px 24px !important; }
body.afa-auth-page .afa-lede { margin: 0 0 22px !important; }
body.afa-auth-page form .form-row, body.afa-auth-page form .woocommerce-form-row, body.afa-auth-page form .afa-field { margin: 0 0 18px !important; }
body.afa-auth-page form label { font-size: 13.5px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; color: #1f2427 !important; margin: 0 0 7px !important; line-height: 1.35 !important; }
body.afa-auth-page form input[type=text], body.afa-auth-page form input[type=email], body.afa-auth-page form input[type=tel], body.afa-auth-page form input[type=password] { height: 50px !important; min-height: 50px; padding: 0 16px !important; border-radius: 12px !important; }
body.afa-auth-page .afa-pw input { padding-right: 52px !important; }
body.afa-auth-page .afa-pwhead { margin: 0 0 7px !important; align-items: center; }
body.afa-auth-page .afa-pwhead a { font-size: 13px !important; }
body.afa-auth-page label.woocommerce-form-login__rememberme { margin: 2px 0 20px !important; align-items: center; font-size: 14px; line-height: 1.4; }
body.afa-auth-page input[type=checkbox] { margin: 0 !important; }
body.afa-auth-page .afa-terms { margin: 4px 0 18px !important; }
body.afa-auth-page .afa-terms label { align-items: center; font-size: 13.5px !important; line-height: 1.45 !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; }
body.afa-auth-page .afa-terms input[type=checkbox] { margin-top: 0 !important; }
body.afa-auth-page .afa-sec { margin: 0 0 18px; }
body.afa-auth-page .afa-sec h3 { margin: 4px 0 14px !important; font-size: 12px !important; letter-spacing: .14em !important; }
body.afa-auth-page .afa-sec .form-row:last-child { margin-bottom: 0 !important; }
body.afa-auth-page .afa-switch-link { margin: 18px 0 0 !important; padding: 14px 0 0 !important; font-size: 14px; }
body.afa-auth-page .afa-hint { margin: 6px 0 0 !important; font-size: 12.5px; }
body.afa-auth-page .afa-match { display: flex; align-items: center; gap: 6px; margin: 6px 0 0; font-size: 12.5px; line-height: 1.4; opacity: 0; transform: translateY(-4px); transition: opacity .3s ease, transform .3s ease, color .3s ease; color: #5f6b64; }
body.afa-auth-page .afa-match.is-on { opacity: 1; transform: none; color: #1e323e; }
body.afa-auth-page .afa-match.is-off { opacity: 1; transform: none; color: #8f2b2b; }
body.afa-auth-page .afa-tick { display: inline-flex; align-items: center; justify-content: center; width: 17px; height: 17px; border-radius: 50%; background: #1e323e; color: #fff1b8; font-size: 11px; font-weight: 700; animation: afa-pop .35s cubic-bezier(.2,1.4,.4,1) both; }

/* Sign-up entrance animations, one after another */
body.afa-auth-page.afa-create-page .afa-sec:nth-of-type(1) { animation: afa-rise .6s cubic-bezier(.22,.8,.3,1) .35s both; }
body.afa-auth-page.afa-create-page .afa-sec:nth-of-type(2) { animation: afa-rise .6s cubic-bezier(.22,.8,.3,1) .5s both; }
body.afa-auth-page.afa-create-page .afa-sec .form-row:nth-child(1),
body.afa-auth-page.afa-create-page .afa-sec .afa-row { animation: afa-rise .5s cubic-bezier(.22,.8,.3,1) .42s both; }
body.afa-auth-page.afa-create-page .afa-sec .form-row:nth-child(2) { animation: afa-rise .5s cubic-bezier(.22,.8,.3,1) .5s both; }
body.afa-auth-page.afa-create-page .afa-sec .form-row:nth-child(3) { animation: afa-rise .5s cubic-bezier(.22,.8,.3,1) .58s both; }
body.afa-auth-page.afa-create-page .afa-terms { animation: afa-rise .6s cubic-bezier(.22,.8,.3,1) .66s both; }
body.afa-auth-page.afa-create-page form button[type=submit] { animation: afa-rise .6s cubic-bezier(.22,.8,.3,1) .76s both; }
body.afa-auth-page.afa-create-page .afa-switch-link { animation: afa-rise .6s cubic-bezier(.22,.8,.3,1) .86s both; }
/* Field focus: the label lights up in gold */
body.afa-auth-page form .form-row:focus-within > label, body.afa-auth-page form .afa-pwhead:focus-within label { color: #8a6a1f !important; }
body.afa-auth-page form input { transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease; }

@media (prefers-reduced-motion: reduce) {
  body.afa-auth-page *, body.afa-auth-page *:before, body.afa-auth-page *:after { animation: none !important; transition: none !important; }
  body.afa-auth-page .afa-match { opacity: 1; transform: none; }
}

/* ===== 1.19.0: sign-in and sign-up card width and shadow match the PSR login card ===== */
body.afa-auth-page .woocommerce { width: min(440px, 100%) !important; max-width: 440px !important; margin: 0 auto !important; padding: 24px 16px !important; }
body.afa-auth-page .afa-frame {
  position: relative; overflow: hidden; border-radius: 16px; background: #fbf7ec !important;
  box-shadow: 0 0 0 3px #14243d, 0 0 0 5px #c9a96e, 0 6px 0 5px #7c5710, 0 9px 0 5px #4d3608, 0 34px 46px -6px rgba(0,0,0,.65) !important;
  animation: afa-rise .9s cubic-bezier(.22,.8,.3,1) .05s backwards;
}
body.afa-auth-page .afa-frame .u-columns { margin: 0 !important; }
body.afa-auth-page .afa-frame .u-columns:after { display: none !important; }
body.afa-auth-page .afa-frame .u-column1, body.afa-auth-page .afa-frame .u-column2 {
  margin: 0 !important; border: 0 !important; border-radius: 0 !important;
  padding: 26px 28px 24px !important;
  background: linear-gradient(180deg, #fffdf6 0%, #fbf7ec 45%, #f1e8d0 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.95) !important;
  animation: afa-rise .9s cubic-bezier(.22,.8,.3,1) .25s backwards;
}
body.afa-auth-page .afa-frame .u-column1:after, body.afa-auth-page .afa-frame .u-column2:after { content: none !important; }
body.afa-auth-page .afa-frame .afa-lh, body.afa-auth-page .afa-frame .afa-lh-strip { border-radius: 0 !important; }
@media (max-width: 480px) {
  body.afa-auth-page .woocommerce { padding: 20px 14px !important; }
  body.afa-auth-page .afa-frame .u-column1, body.afa-auth-page .afa-frame .u-column2 { padding: 24px 22px 22px !important; }
}
@media (prefers-reduced-motion: reduce) { body.afa-auth-page .afa-frame, body.afa-auth-page .afa-frame .u-column1, body.afa-auth-page .afa-frame .u-column2 { animation: none !important; } }


/* ===== 1.75.5: sign-up page repair, and the Back to Home button (sign-in and sign-up) =====
   Problem 1 (Sign up): the "Create account" brand sheet (afiaoru-brand-pages.css) also draws a paper box, a border,
   side padding and a 520px limit on the frame, the card AND the form, so the sign-up showed boxes inside boxes with
   doubled padding and a card narrower than the letterhead. These rules put the sign-up back to one framed card:
   letterhead on top, one cream card under it, fields lined up, one button. They are stronger than the brand sheet.
   Problem 2 (Back to Home): it printed inside the form, above the fields, with fixed 32px inline styles. It is now a
   normal button under the card, centred, 46px tall, the same on both pages. */
html body:not(#afz).afa-auth-page .afa-frame {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #fbf7ec !important;
  box-shadow: 0 0 0 3px #14243d, 0 0 0 5px #c9a96e, 0 6px 0 5px #7c5710, 0 9px 0 5px #4d3608, 0 34px 46px -6px rgba(0,0,0,.65) !important;
}
html body:not(#afz).afa-auth-page .afa-frame .u-column1,
html body:not(#afz).afa-auth-page .afa-frame .u-column2,
html body:not(#afz).afa-auth-page .u-column2 {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 26px 28px 26px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #fffdf6 0%, #fbf7ec 45%, #f1e8d0 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.95) !important;
}
html body:not(#afz).afa-auth-page.afa-create-page form.register,
html body:not(#afz).afa-auth-page.afa-create-page .woocommerce form.register {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
html body:not(#afz).afa-auth-page .woocommerce { width: min(440px, 100%) !important; max-width: 440px !important; margin-inline: auto !important; }

/* Sign-up form rhythm: headings, two name fields, fields, terms, button */
html body:not(#afz).afa-create-page .afa-sec { margin: 0 0 20px !important; }
html body:not(#afz).afa-create-page .afa-sec h3 { margin: 0 0 14px !important; }
html body:not(#afz).afa-create-page .afa-row { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; margin: 0 0 18px !important; }
html body:not(#afz).afa-create-page .afa-row .afa-field,
html body:not(#afz).afa-create-page .afa-row .form-row { margin: 0 !important; width: 100% !important; }
html body:not(#afz).afa-create-page .afa-sec .form-row { margin: 0 0 18px !important; }
html body:not(#afz).afa-create-page .afa-sec .form-row:last-child,
html body:not(#afz).afa-create-page .afa-sec > :last-child { margin-bottom: 0 !important; }
html body:not(#afz).afa-create-page .afa-hint,
html body:not(#afz).afa-create-page .afa-match { margin: 7px 2px 0 !important; text-align: left; }
html body:not(#afz).afa-create-page .afa-match:not(.is-on):not(.is-off) { display: none; }
html body:not(#afz).afa-create-page .afa-pw + .afa-hint + .afa-row,
html body:not(#afz).afa-create-page .afa-sec .form-row + .form-row { margin-top: 0; }
html body:not(#afz).afa-create-page .afa-terms { margin: 0 0 20px !important; padding: 14px 14px !important; border: 1px solid #e3d6b0; border-radius: 12px; background: rgba(255,255,255,.55); }
html body:not(#afz).afa-create-page .afa-terms label { align-items: flex-start !important; font-size: 13.5px !important; line-height: 1.5 !important; }
html body:not(#afz).afa-create-page .afa-terms input[type=checkbox] { margin-top: 2px !important; }
html body:not(#afz).afa-create-page form button[type=submit] { margin: 0 !important; }
html body:not(#afz).afa-create-page .afa-switch-link { margin: 20px 0 0 !important; }
@media (max-width: 420px) {
  html body:not(#afz).afa-auth-page .afa-frame .u-column1,
  html body:not(#afz).afa-auth-page .afa-frame .u-column2 { padding: 22px 18px 22px !important; }
  html body:not(#afz).afa-create-page .afa-row { grid-template-columns: minmax(0, 1fr) !important; gap: 18px !important; }
}

/* Back to Home */
body.afa-auth-page .afiaoru-home-cta,
.afl .afiaoru-home-cta { display: flex; justify-content: center; width: 100%; margin: 28px 0 0 !important; padding: 0 !important; text-align: center; }
.afl .afiaoru-home-cta { margin-top: 16px !important; }
body.afa-auth-page .afiaoru-home-link,
.afl .afiaoru-home-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  box-sizing: border-box; min-height: 46px; padding: 0 24px;
  border: 1.5px solid #c9a24d; border-radius: 999px;
  background: linear-gradient(180deg, #fffdf7 0%, #f4e9cc 100%);
  box-shadow: 0 2px 0 #7c5710, 0 10px 16px -10px rgba(0,0,0,.55);
  color: #16252e !important; font-family: inherit; font-size: 15px; font-weight: 700; line-height: 1; letter-spacing: .01em; text-decoration: none !important;
  transition: transform .12s ease, box-shadow .12s ease, filter .2s ease;
}
body.afa-auth-page .afiaoru-home-link span:first-child,
.afl .afiaoru-home-link span:first-child { color: #8a6a22; font-size: 17px; line-height: 1; }
body.afa-auth-page .afiaoru-home-link:hover,
.afl .afiaoru-home-link:hover { filter: brightness(1.04); transform: translateY(-1px); }
body.afa-auth-page .afiaoru-home-link:active,
.afl .afiaoru-home-link:active { transform: translateY(2px); box-shadow: 0 0 0 #7c5710, 0 4px 8px -6px rgba(0,0,0,.5); }
body.afa-auth-page .afiaoru-home-link:focus-visible,
.afl .afiaoru-home-link:focus-visible { outline: 3px solid rgba(226,176,70,.9); outline-offset: 3px; }


/* ===== 1.75.6: sign-up "I want to" cards: readable text, matching radios ===== */
html body:not(#afz).afa-auth-page .afa-type { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 0 0 22px; padding: 0; border: 0; min-width: 0; }
html body:not(#afz).afa-auth-page .afa-type legend { margin: 0 0 10px; padding: 0; font-family: inherit; font-size: 15px; font-weight: 700; color: #16252e; }
html body:not(#afz).afa-auth-page .afa-type-card,
html body:not(#afz).afa-auth-page .afa-type-card.is-provider {
  display: flex; align-items: flex-start; gap: 14px; box-sizing: border-box; width: 100%; margin: 0; padding: 14px 16px;
  border: 2px solid #d8c48f; border-radius: 14px; cursor: pointer;
  background: linear-gradient(180deg, #fffdf6, #f8efd6) !important;
  color: #16252e !important;
}
/* One colour pair for both cards and both states: dark text on a light card (contrast above 7:1) */
html body:not(#afz).afa-auth-page .afa-type-card strong,
html body:not(#afz).afa-auth-page .afa-type-card.is-provider strong { display: block; margin: 0 0 2px; font-size: 16px; font-weight: 700; line-height: 1.3; color: #16252e !important; }
html body:not(#afz).afa-auth-page .afa-type-card small,
html body:not(#afz).afa-auth-page .afa-type-card.is-provider small { display: block; font-size: 14px; font-weight: 500; line-height: 1.4; color: #3d4752 !important; opacity: 1 !important; text-shadow: none !important; }
html body:not(#afz).afa-auth-page .afa-type-card > span { flex: 1; min-width: 0; }
/* The chosen card: green edge and a soft tint, text stays dark */
html body:not(#afz).afa-auth-page .afa-type-card:has(input:checked),
html body:not(#afz).afa-auth-page .afa-type-card.is-provider:has(input:checked) {
  border-color: #1e6b4a; box-shadow: 0 0 0 3px rgba(30,107,74,.18);
  background: linear-gradient(180deg, #f3fbf6, #dff1e6) !important;
}
/* Radios: same size and look in both cards */
html body:not(#afz).afa-auth-page .afa-type-card input[type=radio] {
  -webkit-appearance: auto; appearance: auto; flex: 0 0 22px; width: 22px !important; height: 22px !important; min-height: 0 !important;
  margin: 2px 0 0 !important; padding: 0 !important; border-radius: 50%; background: none !important; box-shadow: none !important; accent-color: #1e6b4a;
}
@media (min-width: 420px) { html body:not(#afz).afa-auth-page .afa-type { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
