/* Astrology Love Match 2.0: all frontend styling scoped to the plugin. */
.alm2{--alm-purple:#672568;--alm-rose:#a82a76;--alm-gold:#e6b96c;--alm-ink:#32253b;--alm-muted:#665b69;--alm-paper:#fffcfa;--alm-border:#eedce8;color:var(--alm-ink);font-family:inherit;max-width:1120px;margin:0 auto 24px;box-sizing:border-box;isolation:isolate}
.alm2 *, .alm2 *::before,.alm2 *::after{box-sizing:border-box}
.alm2 .alm2-form-wrap{border:1px solid rgba(224,174,205,.55);border-radius:20px;padding:clamp(24px,5vw,64px);background:linear-gradient(135deg,rgba(48,17,60,.92),rgba(123,33,105,.88)),var(--alm2-background,none) center/cover no-repeat;color:#fff;box-shadow:0 15px 45px rgba(44,18,54,.14)}
.alm2 .alm2-form-head{text-align:center;max-width:710px;margin:auto auto 30px}
.alm2 .alm2-kicker{display:block;letter-spacing:.14em;font-size:16px;line-height:1.55;font-weight:800;text-transform:uppercase;color:var(--alm-gold)}
.alm2 .alm2-form-head h2{font-size:clamp(28px,3.8vw,39px);line-height:1.18;color:#fff!important;margin:10px auto 12px;font-weight:800}
.alm2 .alm2-form-head p{color:#f6eaf5;font-size:16px;line-height:1.65;margin:0}
.alm2 .alm2-form{border:1px solid rgba(255,255,255,.2);background:rgba(23,4,34,.38);border-radius:14px;padding:clamp(18px,3vw,32px);max-width:820px;margin:0 auto}
.alm2 .alm2-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.alm2 .alm2-form label{display:flex;flex-direction:column;gap:9px;color:#fff;font-weight:750;font-size:14px;min-width:0}
.alm2 .alm2-form select{display:block;width:100%!important;max-width:100%!important;min-width:0;height:50px!important;min-height:50px;line-height:normal!important;padding:0 40px 0 15px!important;appearance:none!important;-webkit-appearance:none!important;background:#fffafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23672568' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 15px center/18px no-repeat!important;border:1px solid #dac0d1!important;border-radius:10px!important;box-shadow:none!important;color:#37223f!important;font-size:15px!important;font-weight:600!important;text-align:start!important}
.alm2[dir=rtl] .alm2-form select{padding:0 15px 0 40px!important;background-position:left 15px center!important}
.alm2 .alm2-submit{display:flex;justify-content:center;margin:26px auto 0}
.alm2 .alm2-submit button,.alm2 .alm2-reset{border-radius:10px!important;padding:12px 23px!important;min-height:48px!important;border:1px solid var(--alm-gold)!important;background:var(--alm-gold)!important;color:#3e1b49!important;font-size:15px!important;font-weight:800!important;cursor:pointer;line-height:1.3!important}
.alm2 .alm2-submit button:hover{filter:brightness(1.07)}
.alm2 .alm2-result{display:grid;gap:18px}
.alm2 .alm2-result-hero{padding:clamp(24px,4vw,46px);border:1px solid var(--alm-gold);border-radius:18px;background:radial-gradient(circle at top right,rgba(230,185,108,.2),transparent 40%),linear-gradient(125deg,#3b174b,#742b70);color:#fff;text-align:center;overflow:hidden}
.alm2 .alm2-result-hero h2{font-size:clamp(27px,3.6vw,36px);line-height:1.2;color:#fff!important;margin:8px 0 8px;font-weight:850}
.alm2 .alm2-result-hero p{color:#f7e9f1;margin:0;font-size:15px}
.alm2 .alm2-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:630px;margin:0 auto}
.alm2 .alm2-person{display:flex;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.1);padding:10px 14px;text-align:start;min-width:0}
.alm2 .alm2-person img,.alm2 .alm2-person-glyph{width:54px;height:54px;flex:none;border-radius:10px;object-fit:cover;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:34px;color:var(--alm-gold)}
.alm2 .alm2-person strong{font-size:19px;color:#fff;min-width:0}
.alm2 .alm2-category{display:grid;gap:18px}
.alm2 .alm2-category-hero{display:flex;gap:28px;align-items:center;padding:clamp(22px,3.6vw,36px);border:1px solid var(--alm-border);background:var(--alm-paper);border-radius:16px}
.alm2 .alm2-score-circle{--value:70%;width:135px;height:135px;flex:none;border-radius:50%;background:conic-gradient(var(--alm-gold) var(--value),#efe4eb 0);display:flex;align-items:center;justify-content:center;position:relative;gap:2px}
.alm2 .alm2-score-circle::before{content:'';inset:10px;background:#fffafc;border-radius:50%;position:absolute}
.alm2 .alm2-score-circle strong,.alm2 .alm2-score-circle small{position:relative;color:var(--alm-purple)!important}
.alm2 .alm2-score-circle strong{font-weight:850;font-size:37px}.alm2 .alm2-score-circle small{font-size:12px;align-self:center}
.alm2 .alm2-category-intro{min-width:0;flex:1}
.alm2 .alm2-category-intro .alm2-kicker{color:var(--alm-rose)}
.alm2 .alm2-category-intro h3{font-size:clamp(22px,3vw,30px);line-height:1.3;margin:5px 0 12px;color:var(--alm-purple)!important}
.alm2 .alm2-prose,.alm2 .alm2-prose p{font-size:15px;line-height:1.8;color:var(--alm-ink);margin-top:0;margin-bottom:0}
.alm2 .alm2-prose p+p{margin-top:12px}
.alm2 .alm2-procon{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.alm2 .alm2-procon section{border:1px solid var(--alm-border);border-radius:15px;padding:24px;background:var(--alm-paper);min-width:0}
.alm2 .alm2-procon h4{font-size:21px;line-height:1.4;color:var(--alm-purple)!important;margin:0 0 18px}
.alm2 .alm2-procon ul{padding-inline-start:20px;margin:0;display:grid;gap:12px}
.alm2 .alm2-procon li{font-size:15px;line-height:1.55;padding-inline-start:2px;color:var(--alm-ink)}
.alm2 .alm2-subtitle{font-size:22px;line-height:1.3;margin:4px 0 0!important;color:var(--alm-purple)!important}
.alm2 .alm2-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.alm2 .alm2-part{border:1px solid var(--alm-border);background:var(--alm-paper);padding:25px;border-radius:15px;min-width:0}
.alm2 .alm2-part-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.alm2 .alm2-part h5{margin:0;color:var(--alm-purple)!important;font-size:19px;line-height:1.35}
.alm2 .alm2-tagline{font-size:13px;color:var(--alm-muted);line-height:1.5;margin:5px 0 0}
.alm2 .alm2-part-top>strong{color:var(--alm-rose);font-size:25px;white-space:nowrap;font-weight:800}
.alm2 .alm2-part-top small{font-size:12px;font-weight:500}
.alm2 .alm2-bar{width:100%;height:6px;background:#efe4ea;border-radius:20px;overflow:hidden;margin:10px 0 17px}
.alm2 .alm2-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--alm-rose),var(--alm-gold));border-radius:20px}
.alm2 .alm2-ad{display:flex;justify-content:center;align-items:center;max-width:100%;margin:8px auto;padding:8px;min-height:0;overflow:hidden}
.alm2 .alm2-ad img{width:auto;max-width:100%;height:auto;display:block}
.alm2 :is(ins.adsbygoogle,.google-auto-placed,.adsbygoogle):not(.alm2-ad *){display:none!important}
.alm2 .alm2-actions{display:flex;justify-content:center;margin:12px auto 24px}
.alm2 .alm2-reset{background:var(--alm-purple)!important;color:#fff!important;border:1px solid var(--alm-gold)!important}
.alm2[dir=rtl] .alm2-score-circle{direction:ltr}
@media(max-width:760px){.alm2 .alm2-form-grid,.alm2 .alm2-procon,.alm2 .alm2-parts{grid-template-columns:minmax(0,1fr)}.alm2 .alm2-category-hero{flex-direction:column;align-items:stretch}.alm2 .alm2-score-circle{align-self:center}.alm2 .alm2-category-intro{text-align:start}.alm2 .alm2-form{padding:18px}.alm2 .alm2-people{grid-template-columns:minmax(0,1fr)}.alm2 .alm2-form-wrap{border-radius:14px}.alm2 .alm2-procon section,.alm2 .alm2-part{padding:19px}}
@media(max-width:420px){.alm2 .alm2-form-wrap{padding:15px}.alm2 .alm2-form-head{margin-bottom:21px}.alm2 .alm2-score-circle{width:110px;height:110px}.alm2 .alm2-score-circle strong{font-size:32px}}

/* Identity cards and universal light/dark headings: v2.1 */
.alm2 .alm2-result-hero{padding:clamp(24px,3.6vw,42px)}
.alm2 .alm2-result-hero>.alm2-kicker{font-size:16px!important;letter-spacing:.12em;line-height:1.4}
.alm2 .alm2-result-hero>h2{font-size:clamp(28px,3.4vw,36px)!important;margin:10px 0 24px!important;line-height:1.2}
.alm2 .alm2-people{max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.alm2 .alm2-person{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:13px;background:#fffafc;border:1px solid #e4d2df;border-radius:16px;padding:20px;text-align:start;color:#342538!important;min-width:0}
.alm2 .alm2-person-main{display:flex;gap:18px;align-items:center;min-width:0}
.alm2 .alm2-person img,.alm2 .alm2-person .alm2-person-glyph{width:138px;height:138px;flex:0 0 138px;border-radius:13px;object-fit:cover;background:#f3e5ed;color:var(--alm-purple);font-size:54px}
.alm2 .alm2-person-info{display:grid;gap:8px;min-width:0;flex:1}
.alm2 .alm2-person-info h3{font-size:clamp(24px,2.6vw,31px)!important;line-height:1.15;margin:0!important;color:#64215f!important;overflow-wrap:anywhere;font-weight:850}
.alm2 .alm2-sign-date{font-size:13px;color:#64536a;font-weight:650;line-height:1.5}
.alm2 .alm2-identity-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.alm2 .alm2-identity-meta span{display:inline-block;border:1px solid #e9d4e1;background:#fcf4f8;padding:5px 8px;border-radius:8px;font-size:12px;color:#573459;line-height:1.35}
.alm2 .alm2-identity-meta strong{color:#63265f!important;font-size:inherit!important}
.alm2 .alm2-sign-keywords{display:flex;flex-wrap:wrap;gap:6px;list-style:none!important;margin:0!important;padding:0!important}
.alm2 .alm2-sign-keywords li{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f1e6ef;color:#622d63!important;font-size:12px;line-height:1.25;font-weight:650;list-style:none!important}
.alm2 .alm2-person .alm2-person-summary{font-size:14px;line-height:1.65;color:#47334c!important;text-align:start;margin:0!important;font-weight:450}
.alm2 .alm2-score-circle{display:flex;gap:0}
.alm2 .alm2-score-circle strong{font-size:39px}
/* Make section headings legible without relying on the parent theme's dark/light mode. */
.alm2 .alm2-subtitle{display:block;width:100%;padding:19px 22px;margin:0!important;border-radius:14px;border:1px solid var(--alm-border);background:var(--alm-paper);color:var(--alm-purple)!important;font-size:22px!important;line-height:1.3!important;box-sizing:border-box}
.alm2 .alm2-procon h4{display:flex;align-items:center;gap:12px}
.alm2 .alm2-point-icon{width:26px;height:26px;display:inline-block;flex:0 0 26px;background:#bb4771}
.alm2 .alm2-point-like{-webkit-mask:url('../img/like.svg') center/contain no-repeat;mask:url('../img/like.svg') center/contain no-repeat;background-color:#ae4c84}
.alm2 .alm2-point-dislike{-webkit-mask:url('../img/dislike.svg') center/contain no-repeat;mask:url('../img/dislike.svg') center/contain no-repeat;background-color:#ba6978}
.alm2 .alm2-procon h4{color:#64215f!important}
@media(max-width:820px){
 .alm2 .alm2-people{grid-template-columns:minmax(0,1fr)}
 .alm2 .alm2-person{padding:17px}
 .alm2 .alm2-person img,.alm2 .alm2-person .alm2-person-glyph{width:116px;height:116px;flex-basis:116px}
 .alm2 .alm2-person-info h3{font-size:25px!important}
}
@media(max-width:420px){
 .alm2 .alm2-person-main{gap:12px}
 .alm2 .alm2-person img,.alm2 .alm2-person .alm2-person-glyph{width:100px;height:100px;flex-basis:100px}
 .alm2 .alm2-identity-meta span{font-size:11px}
 .alm2 .alm2-person-info h3{font-size:23px!important}
 .alm2 .alm2-person{padding:13px}
}

/* v2.1.1: Four compact keywords on mobile, all five on larger screens. */
@media (max-width:820px){
  .alm2 .alm2-sign-keywords li:nth-child(n+5){display:none!important}
}
@media (max-width:420px){
  .alm2 .alm2-sign-keywords{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .alm2 .alm2-sign-keywords li{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;padding:6px 3px;font-size:clamp(10px,2.8vw,12px);line-height:1.25}
}


/* v2.1.2: Match RTL keyword pills to the compact LTR treatment.
   WordPress themes often add margin, flex-grow or justified spacing to list items;
   reset those rules on this component only, without touching report content. */
.alm2[dir="rtl"] ul.alm2-sign-keywords {
  display:flex!important;
  flex-flow:row wrap!important;
  justify-content:flex-start!important;
  align-items:center!important;
  align-content:flex-start!important;
  gap:6px!important;
  direction:rtl;
  width:100%;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.alm2[dir="rtl"] ul.alm2-sign-keywords > li {
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:650!important;
  line-height:1.25!important;
  letter-spacing:normal!important;
  text-align:center!important;
  white-space:nowrap!important;
  list-style:none!important;
}
/* Retain the four-keyword, single-row phone layout already introduced in 2.1.1. */
@media (max-width:420px) {
  .alm2[dir="rtl"] ul.alm2-sign-keywords {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .alm2[dir="rtl"] ul.alm2-sign-keywords > li {
    display:block!important;
    width:100%!important;
    padding:6px 3px!important;
    font-size:clamp(10px,2.8vw,11px)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

/* Four chips on mobile also in RTL: ensure this wins against local pill display rules. */
@media (max-width:820px) {
  .alm2[dir="rtl"] ul.alm2-sign-keywords > li:nth-child(n+5) { display:none!important; }
}
