/* Healing through Visions Cardology widget — styles scoped to .htv-cardology */
.htv-cardology {
  --htv-ivory: #FBF8F1;
  --htv-teal: #203E3B;
  --htv-ink: #213A38;
  --htv-muted: #455C57;
  --htv-sage: #EFF2EB;
  --htv-gold: #B69B64;
  --htv-red: #AC3F4B;
  box-sizing: border-box;
  background: var(--htv-ivory);
  color: var(--htv-ink);
  border: 1px solid #DFE5DC;
  border-radius: 22px;
  padding: clamp(18px, 4vw, 40px);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
  max-width: 1000px;
  margin: 1.5rem auto;
}
.htv-cardology *, .htv-cardology *::before, .htv-cardology *::after { box-sizing: border-box; }
.htv-cardology h2, .htv-cardology h3 { font-family: Georgia, 'Times New Roman', serif; color: var(--htv-teal); line-height: 1.2; margin: 0 0 .5em; }
.htv-cardology h2 { font-size: clamp(1.7rem, 4vw, 2.55rem); }
.htv-cardology h3 { font-size: clamp(1.25rem, 2.5vw, 1.6rem); }
.htv-cardology p { margin: 0 0 .9rem; color: var(--htv-muted); }
.htv-cardology__eyebrow { font-size: .79rem; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; color: #62776B !important; }
.htv-cardology__intro { max-width: 760px; }
.htv-cardology__guide { max-width: 780px; }
.htv-cardology .htv-cardology__guide-heading { font-size: clamp(1.08rem, 2vw, 1.22rem); margin: 1.15rem 0 .3rem; }
.htv-cardology__guide p { margin: 0 0 .8rem; }
.htv-cardology__guide-invitation { font-weight: 700; margin: 1.1rem 0 0 !important; color: var(--htv-teal) !important; }
.htv-cardology__form { background: #FFF; border: 1px solid #E3E7E0; border-radius: 15px; padding: clamp(16px, 3vw, 24px); margin: 1.3rem 0; }
.htv-cardology__fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.htv-cardology__field { display: flex; flex-direction: column; gap: 6px; font-weight: 700; font-size: .93rem; }
.htv-cardology__field select { width: 100%; min-height: 46px; padding: .65rem .75rem; font: inherit; background: white; color: var(--htv-ink); border: 1px solid #899992; border-radius: 8px; }
.htv-cardology__field select:disabled { opacity: .6; }
.htv-cardology__hint { font-size: .89rem; margin: .85rem 0 0 !important; }
.htv-cardology__controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 15px; }
.htv-cardology button { font: 700 .95rem Arial, Helvetica, sans-serif; cursor: pointer; border-radius: 10px; min-height: 46px; padding: .7rem 1.1rem; border: 1px solid var(--htv-teal); }
.htv-cardology__submit { background: var(--htv-teal); color: white; }
.htv-cardology__example { background: var(--htv-teal); color: white; }
.htv-cardology button:hover { filter: brightness(.93); }
.htv-cardology :is(button, select):focus-visible { outline: 3px solid #C6A452; outline-offset: 3px; }
.htv-cardology__error { margin: .7rem 0 0 !important; color: #8F2731 !important; font-weight: 700; }
.htv-cardology__privacy, .htv-cardology__disclaimer { font-size: .87rem; }
.htv-cardology__result { margin-top: 1.7rem; scroll-margin-top: 24px; }
.htv-cardology__result[hidden] { display: none; }
.htv-cardology__result-heading { border-top: 2px solid var(--htv-gold); padding-top: 1.4rem; }
.htv-cardology__birth-feature { display: flex; align-items: center; gap: clamp(15px, 3vw, 26px); margin: 1.1rem 0 1.7rem; }
.htv-cardology__hero-card { flex: 0 0 110px; height: 152px; display: grid; place-content: center; text-align: center; border: 2px solid #D5C2A2; border-radius: 12px; background: #FFF; color: var(--htv-teal); box-shadow: 0 4px 12px #203E3B14; font: 700 2.7rem Georgia, serif; }
.htv-cardology__red { color: var(--htv-red) !important; }
.htv-cardology__spread-heading { margin: 1.4rem 0 .85rem; }
.htv-cardology__positions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
/* Position labels stay separate from card-specific, expandable readings. */
.htv-cardology__placement { min-width: 0; align-self: start; }
.htv-cardology__planet-label { font-family: Georgia, 'Times New Roman', serif; color: var(--htv-teal); font-weight: 700; font-size: 1.03rem; padding: 0 .15rem .45rem; }
/* Native details/summary keeps every card accessible by mouse, touch and keyboard. */
.htv-cardology__position { border: 1px solid #DFE6DE; border-radius: 12px; background: white; min-width: 0; overflow: hidden; align-self: start; }
.htv-cardology__position[open] { border-color: #B4C7BC; background: #FFFFFF; }
.htv-cardology__position-summary { display: flex; align-items: flex-start; gap: 13px; padding: 13px; cursor: pointer; list-style: none; }
.htv-cardology__position-summary::-webkit-details-marker { display: none; }
.htv-cardology__position-summary::marker { content: ''; }
.htv-cardology__position-summary:hover { background: #F7FAF5; }
.htv-cardology__position-summary:focus-visible { outline: 3px solid #C6A452; outline-offset: -4px; border-radius: 11px; }
.htv-cardology__mini-card { background: var(--htv-sage); border-radius: 8px; border: 1px solid #D4DCD4; flex: 0 0 57px; min-height: 70px; display: grid; place-items: center; font: 700 1.35rem Georgia, serif; color: var(--htv-teal); }
.htv-cardology__position-text { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.htv-cardology__position-name { font-size: .85rem; font-weight: 700; color: #5B766A; }
.htv-cardology__position-card { font-size: 1.01rem; font-weight: 700; color: var(--htv-teal); }
.htv-cardology__position-reflection { font-size: .84rem; color: var(--htv-muted); margin-top: .18rem; }
.htv-cardology__toggle { flex: 0 0 22px; margin-left: auto; align-self: center; font-size: 1.55rem; font-weight: 400; line-height: 1; text-align: center; color: var(--htv-teal); }
.htv-cardology__toggle::before { content: '+'; }
.htv-cardology__position[open] .htv-cardology__toggle::before { content: '−'; }
.htv-cardology__position-explanation { padding: 0 15px 15px; font-size: .92rem; }
.htv-cardology__position-explanation p { margin: .1rem 0 .7rem; }
.htv-cardology__position-explanation strong { color: var(--htv-teal); }
.htv-cardology__position-prompt { font-style: italic; margin-bottom: 0 !important; }
.htv-cardology__today-note { font-size: .85rem; margin: .65rem 0 0 !important; }
.htv-cardology__joker-note { background: white; border: 1px solid #DFE6DE; border-radius: 14px; padding: 20px; }
.htv-cardology__closing { font-family: Georgia, serif; font-style: italic; font-size: 1.04rem; margin-top: 1.5rem !important; color: var(--htv-teal) !important; }
@media (max-width: 600px) {
  .htv-cardology__fields, .htv-cardology__positions { grid-template-columns: minmax(0, 1fr); }
  .htv-cardology__birth-feature { align-items: flex-start; }
  .htv-cardology__hero-card { flex-basis: 80px; height: 112px; font-size: 2rem; }
  .htv-cardology__controls button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .htv-cardology * { scroll-behavior: auto !important; } }
