/* Love Calculator Plugin CSS v1.0.0 — lovescalculators.com */
/* All classes prefixed .lc- to avoid any WordPress theme conflicts */

.lc-wrap{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  font-size:16px !important;
  color:#1a0008 !important;
  width:100% !important;
  max-width:580px !important;
  margin:0 auto !important;
}
.lc-wrap *{ box-sizing:border-box !important; }

/* CARD */
.lc-card{
  background:#ffffff !important;
  border-radius:20px !important;
  box-shadow:0 8px 40px rgba(185,22,44,0.18) !important;
  overflow:hidden !important;
}

@keyframes lcHeartbeat{
  0%,100%{ transform:scale(1); }
  14%{ transform:scale(1.15); }
  28%{ transform:scale(1); }
  42%{ transform:scale(1.1); }
  70%{ transform:scale(1); }
}

/* BODY */
.lc-body{ padding:24px !important; }

/* NAMES SECTION */
.lc-names-wrap{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  margin-bottom:16px !important;
  align-items:end !important;
}
.lc-heart-mid{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:22px !important;
  padding-bottom:4px !important;
  color:#B9162C !important;
  animation:lcHeartbeat 1.6s ease-in-out infinite !important;
}
.lc-field-group{ display:flex !important; flex-direction:column !important; gap:6px !important; }
.lc-field-label{
  font-size:12px !important;
  font-weight:600 !important;
  color:#7a3040 !important;
  text-transform:uppercase !important;
  letter-spacing:0.05em !important;
  margin:0 !important;
  display:block !important;
}
.lc-input{
  width:100% !important;
  padding:12px 14px !important;
  border:2px solid #f0c0c8 !important;
  border-radius:10px !important;
  font-size:15px !important;
  font-weight:500 !important;
  color:#1a0008 !important;
  background:#fff8f9 !important;
  outline:none !important;
  transition:border .2s,box-shadow .2s !important;
  box-shadow:none !important;
  height:auto !important;
  line-height:normal !important;
  margin:0 !important;
}
.lc-input:focus{
  border-color:#B9162C !important;
  box-shadow:0 0 0 3px rgba(185,22,44,0.1) !important;
  background:#ffffff !important;
}
.lc-input::placeholder{ color:#dba0a8 !important; font-weight:400 !important; }

/* BIRTHDAY TOGGLE */
.lc-bday-toggle-wrap{
  margin-bottom:14px !important;
}
.lc-bday-toggle{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  cursor:pointer !important;
  font-size:13px !important;
  font-weight:500 !important;
  color:#7a3040 !important;
  background:none !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
  outline:none !important;
  text-decoration:none !important;
}
.lc-bday-toggle:hover{ color:#B9162C !important; }
.lc-toggle-icon{
  width:20px !important; height:20px !important;
  border-radius:50% !important;
  background:#fde8eb !important;
  color:#B9162C !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:13px !important;
  font-weight:700 !important;
  flex-shrink:0 !important;
  transition:background .2s,transform .3s !important;
}
.lc-bday-toggle.lc-open .lc-toggle-icon{ background:#B9162C !important; color:#fff !important; transform:rotate(45deg) !important; }

/* BIRTHDAY PANEL */
.lc-bday-panel{
  display:none !important;
  background:#fff8f9 !important;
  border:1.5px solid #f0c0c8 !important;
  border-radius:12px !important;
  padding:14px !important;
  margin-bottom:14px !important;
}
.lc-bday-panel.lc-show{ display:block !important; animation:lcFadeIn .25s ease !important; }
.lc-bday-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
}
.lc-bday-label{
  font-size:12px !important;
  font-weight:600 !important;
  color:#7a3040 !important;
  margin:0 0 5px !important;
  display:block !important;
  text-transform:uppercase !important;
  letter-spacing:0.04em !important;
}
.lc-bday-input{
  width:100% !important;
  padding:9px 12px !important;
  border:1.5px solid #f0c0c8 !important;
  border-radius:8px !important;
  font-size:14px !important;
  color:#1a0008 !important;
  background:#ffffff !important;
  outline:none !important;
  transition:border .2s !important;
  box-shadow:none !important;
  height:auto !important;
}
.lc-bday-input:focus{ border-color:#B9162C !important; }

/* CALCULATE BUTTON */
.lc-calc-btn{
  width:100% !important;
  padding:15px !important;
  background:#B9162C !important;
  color:#ffffff !important;
  border:none !important;
  border-radius:12px !important;
  font-size:16px !important;
  font-weight:700 !important;
  cursor:pointer !important;
  letter-spacing:0.02em !important;
  transition:background .2s,transform .15s,box-shadow .2s !important;
  display:block !important;
  text-align:center !important;
  box-shadow:none !important;
  outline:none !important;
  line-height:normal !important;
  height:auto !important;
  text-decoration:none !important;
  margin:0 !important;
}
.lc-calc-btn:hover{
  background:#8a0f20 !important;
  transform:translateY(-1px) !important;
  box-shadow:0 6px 20px rgba(185,22,44,0.35) !important;
  color:#ffffff !important;
}
.lc-calc-btn:active{ transform:translateY(0) !important; }
.lc-calc-btn:focus{ outline:none !important; box-shadow:none !important; }

/* RESULTS */
.lc-results{
  margin-top:20px !important;
  display:none !important;
}
.lc-results.lc-show{
  display:block !important;
  animation:lcFadeIn .4s ease both !important;
}
@keyframes lcFadeIn{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}

/* RESULT HERO */
.lc-result-hero{
  background:linear-gradient(135deg,#B9162C,#7a0e1d) !important;
  border-radius:14px !important;
  padding:24px 20px !important;
  text-align:center !important;
  margin-bottom:14px !important;
  position:relative !important;
  overflow:hidden !important;
}
.lc-result-hero::after{
  content:"" !important;
  position:absolute !important;
  bottom:-30px !important; right:-20px !important;
  width:90px !important; height:90px !important;
  background:rgba(255,255,255,0.06) !important;
  border-radius:50% !important;
}
.lc-result-names{
  font-size:14px !important;
  color:rgba(255,255,255,0.8) !important;
  margin-bottom:10px !important;
  display:block !important;
}
.lc-result-pct-wrap{
  margin-bottom:10px !important;
  position:relative !important;
  z-index:1 !important;
}
.lc-result-pct{
  font-size:64px !important;
  font-weight:800 !important;
  color:#ffffff !important;
  line-height:1 !important;
  display:inline-block !important;
}
.lc-result-pct-sym{
  font-size:32px !important;
  font-weight:700 !important;
  color:rgba(255,255,255,0.8) !important;
  vertical-align:super !important;
}
.lc-result-emoji{
  font-size:30px !important;
  display:block !important;
  margin-bottom:6px !important;
  animation:lcHeartbeat 1.6s ease-in-out infinite !important;
}
.lc-result-label{
  font-size:18px !important;
  font-weight:700 !important;
  color:#ffffff !important;
  display:block !important;
  margin-bottom:4px !important;
}
.lc-result-sub{
  font-size:13px !important;
  color:rgba(255,255,255,0.72) !important;
  display:block !important;
}

/* PROGRESS BAR */
.lc-progress-wrap{
  background:#ffe0e5 !important;
  border-radius:10px !important;
  height:12px !important;
  overflow:hidden !important;
  margin-bottom:14px !important;
}
.lc-progress-fill{
  height:100% !important;
  background:linear-gradient(90deg,#B9162C,#e8456a) !important;
  border-radius:10px !important;
  width:0% !important;
  transition:width 1.2s cubic-bezier(.4,0,.2,1) !important;
}

/* RESULT CARDS */
.lc-result-cards{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-bottom:14px !important;
}
.lc-result-card{
  background:#fff8f9 !important;
  border:1px solid #f0c0c8 !important;
  border-radius:12px !important;
  padding:14px 10px !important;
  text-align:center !important;
}
.lc-rc-icon{ font-size:22px !important; display:block !important; margin-bottom:4px !important; }
.lc-rc-label{ font-size:11px !important; color:#9a5060 !important; margin-bottom:4px !important; display:block !important; }
.lc-rc-val{ font-size:18px !important; font-weight:700 !important; color:#B9162C !important; display:block !important; }

/* MESSAGE BOX */
.lc-message{
  background:#fff8f9 !important;
  border:1.5px solid #f0c0c8 !important;
  border-left:4px solid #B9162C !important;
  border-radius:0 12px 12px 0 !important;
  padding:14px 16px !important;
  font-size:14px !important;
  color:#4a1020 !important;
  line-height:1.7 !important;
  margin-bottom:14px !important;
  font-style:italic !important;
}

/* SHARE & RESET */
.lc-actions{
  display:flex !important;
  gap:8px !important;
}
.lc-share-btn{
  flex:1 !important;
  padding:11px !important;
  background:#B9162C !important;
  color:#ffffff !important;
  border:none !important;
  border-radius:10px !important;
  font-size:14px !important;
  font-weight:600 !important;
  cursor:pointer !important;
  transition:all .2s !important;
  text-align:center !important;
  box-shadow:none !important;
  outline:none !important;
  text-decoration:none !important;
  line-height:normal !important;
  height:auto !important;
}
.lc-share-btn:hover{ background:#8a0f20 !important; color:#ffffff !important; }
.lc-again-btn{
  flex:1 !important;
  padding:11px !important;
  background:#ffffff !important;
  color:#B9162C !important;
  border:1.5px solid #f0c0c8 !important;
  border-radius:10px !important;
  font-size:14px !important;
  font-weight:600 !important;
  cursor:pointer !important;
  transition:all .2s !important;
  text-align:center !important;
  box-shadow:none !important;
  outline:none !important;
  text-decoration:none !important;
  line-height:normal !important;
  height:auto !important;
}
.lc-again-btn:hover{ border-color:#B9162C !important; background:#fff8f9 !important; color:#B9162C !important; }

/* DISCLAIMER */
.lc-disclaimer{
  text-align:center !important;
  font-size:11px !important;
  color:#b08090 !important;
  margin-top:12px !important;
  line-height:1.5 !important;
}

/* FLOATING HEARTS ANIMATION */
.lc-floating-hearts{
  position:relative !important;
  height:0 !important;
  overflow:visible !important;
  pointer-events:none !important;
}
.lc-fheart{
  position:absolute !important;
  font-size:20px !important;
  animation:lcFloat 2.5s ease-out forwards !important;
  opacity:1 !important;
  z-index:10 !important;
}
@keyframes lcFloat{
  0%{ opacity:1; transform:translateY(0) scale(1); }
  100%{ opacity:0; transform:translateY(-120px) scale(1.4); }
}

@media(max-width:480px){
  .lc-names-wrap{ grid-template-columns:1fr !important; }
  .lc-heart-mid{ display:none !important; }
  .lc-result-pct{ font-size:52px !important; }
  .lc-body{ padding:16px !important; }
  .lc-result-cards{ grid-template-columns:1fr 1fr !important; }
}
