/* ========================================
   GROTTO BATHS — PAPERFORM CUSTOM CSS
   Background: #EEE9D4 (Moon Mist)
   Accent: #2D5CBE (Brown Rust)
   ======================================== */

/* === CUSTOM FONTS === */
@font-face {
  font-family: 'Kalice';
  src: url('https://res.cloudinary.com/dsunbqylh/raw/upload/v1771541304/Kalice-Regular_nbvgvg.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Kalice';
  src: url('https://res.cloudinary.com/dsunbqylh/raw/upload/v1771541305/Kalice-Italic_hr1ioy.woff2') format('woff2');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'AlteHaasGrotesk';
  src: url('https://res.cloudinary.com/dsunbqylh/raw/upload/v1771541228/AlteHaasGroteskRegular_pfp3h3.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* --- GLOBAL --- */
.Paperform__Container {
  padding-top: 0 !important;
  background: #EEE9D4 !important;
  max-width: 100%;
}

/* Hide the progress bar at the top */
.Paperform__Progress,
.Paperform__Progress *,
[class*="Progress"] {
  display: none !important;
  height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
}

/* Kill the white card on question blocks */
.Paperform__QuestionBlock {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
}

.Paperform__QuestionBlock > div {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

[class*="QuestionBlock"],
[class*="questionBlock"],
[class*="question-block"] {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.btn-raised, .btn-raised:hover, .btn-raised:focus {
  box-shadow: none !important;
  background: #2D5CBE !important;
  background-color: #2D5CBE !important;
  color: #FFFFFF !important;
  border: none !important;
}

/* === TYPOGRAPHY SYSTEM ===
   H1, H2, H3 = Kalice Regular
   Body, labels, inputs = Kalice Regular
   Override size/weight/style per-page as needed
   ========================================= */

/* --- Headings: Kalice Regular --- */
h1, h1 *, h1.__header-one, h1.__header-one > * {
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: clamp(2.4rem, 4.5vw, 4rem) !important;
  line-height: 1.05 !important;
  color: #221F20 !important;
}

h2, h2 *, h2.__header-two, h2.__header-two > * {
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: clamp(3rem, 6vw, 5.5rem) !important;
  line-height: 0.88 !important;
  color: #221F20 !important;
}

h3, h3 * {
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: clamp(1.4rem, 2.5vw, 2rem) !important;
  line-height: 1.15 !important;
  color: #221F20 !important;
}

/* --- Body text: Kalice Regular --- */
p, li, span {
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  line-height: 1.65;
  color: #221F20;
}

/* --- Subtext / captions --- */
small, .subtext, figcaption {
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: clamp(0.7rem, 0.9vw, 0.85rem);
  line-height: 1.5;
  color: #666666;
}

/* --- Paperform field labels --- */
.ProseMirror p, .LiveField__label, .editor p,
label, .LiveField__label span {
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
  color: #111111 !important;
  line-height: 1.75;
  font-size: clamp(0.85rem, 1.1vw, 1rem);
}

/* Field labels specifically */
.LiveField__label {
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
  font-size: clamp(0.8rem, 1vw, 0.95rem) !important;
  letter-spacing: 0.02em !important;
  color: #111111 !important;
}

/* Required asterisk */
.LiveField__required {
  color: #2D5CBE !important;
}

/* Description/help text under fields */
.LiveField__description,
.LiveField__description p,
.LiveField__description span,
.LiveField__description .ProseMirror,
.LiveField__description .ProseMirror p,
.LiveField__description .editor p,
.Paperform__QuestionBlock .LiveField__description,
.Paperform__QuestionBlock .LiveField__description p,
.Paperform__QuestionBlock .LiveField__description span {
  font-family: 'AlteHaasGrotesk', sans-serif !important;
  font-weight: 300 !important;
  font-size: 0.85rem !important;
  line-height: 1.6 !important;
  color: #666666 !important;
}

/* --- INPUT FIELDS --- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
.Select {
  background: transparent !important;
  color: #111111 !important;
  border-color: rgba(32,71,122,0.25) !important;
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus {
  border-color: #2D5CBE !important;
}

input::placeholder,
textarea::placeholder {
  color: #666666 !important;
  font-family: 'AlteHaasGrotesk', sans-serif !important;
  font-weight: 300 !important;
  font-size: 0.8rem !important;
}

input[id^="field-text"],
input[id^="field-email"],
input[id^="field-tel"],
input[id^="field-url"] {
  border-bottom: 1px solid rgba(32,71,122,0.25) !important;
}

input[id^="field-text"]:focus,
input[id^="field-email"]:focus {
  border-bottom: 1px solid #2D5CBE !important;
}

/* --- DROPDOWNS --- */
.Select-menu-outer {
  background: #F7F9FB !important;
  border: 1px solid rgba(32,71,122,0.15) !important;
}

.Select-option {
  background: #F7F9FB !important;
  color: #111111 !important;
  font-family: 'Kalice', Georgia, serif !important;
}

.Select-option:hover,
.Select-option.is-focused {
  background: rgba(45,92,190,0.08) !important;
}

/* --- MULTIPLE CHOICE / YES-NO --- */
.Choices__choice, .YesNo__button {
  background: transparent !important;
  border: 1px solid rgba(45,92,190,0.2) !important;
  color: #111111 !important;
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.Choices__choice:hover, .YesNo__button:hover {
  border-color: #2D5CBE !important;
  background: rgba(45,92,190,0.05) !important;
  color: #111111 !important;
}

/* Selected state - blue border + tint */
.Choices__choice[aria-checked="true"],
.Choices__choice.is-selected,
.YesNo__button.btn-primary,
.YesNo__button[aria-pressed="true"] {
  border: 2px solid #2D5CBE !important;
  border-color: #2D5CBE !important;
  outline: 2px solid #2D5CBE !important;
  background: rgba(45,92,190,0.07) !important;
  color: #111111 !important;
}

/* Everything inside a selected choice that could be the checkbox visual */
.Choices__choice[aria-checked="true"] *,
.Choices__choice.is-selected * {
  border-color: #2D5CBE !important;
  color: #2D5CBE !important;
}

/* SVG tick/check - stroke blue */
.Choices__choice[aria-checked="true"] svg *,
.Choices__choice.is-selected svg * {
  stroke: #2D5CBE !important;
  fill: #2D5CBE !important;
}

/* Native checkbox */
input[type="checkbox"] {
  accent-color: #2D5CBE !important;
}
input[type="checkbox"]:checked {
  accent-color: #2D5CBE !important;
  background-color: #2D5CBE !important;
  border-color: #2D5CBE !important;
}

/* --- ACCENT COLOR CLASS (Paperform strips inline styles) --- */
.grotto-accent {
  color: #2D5CBE !important;
}
.grotto-cta-text,
p.grotto-cta-text,
.grotto-cta-banner p.grotto-cta-text,
div .grotto-cta-text {
  color: #2D5CBE !important;
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

/* --- SUBMIT BUTTON - scoped to .submit wrapper only --- */
div.submit {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.submit > .btn-raised,
.submit > .btn-primary,
.submit > span.btn-raised,
.submit > span.btn-primary,
.submit > span.btn-raised.btn-primary,
.submit > span.btn-raised.btn-primary.__checkout_btn_ref,
.submit span.btn-raised {
  background: #2D5CBE !important;
  background-color: #2D5CBE !important;
  color: #FFFFFF !important;
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  border: none !important;
  padding: 1rem 2.8rem !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: all 0.4s ease;
}

.submit > span:hover,
.submit > .btn-raised:hover,
.submit span.btn-raised:hover {
  background: #20477A !important;
  background-color: #20477A !important;
  color: #FFFFFF !important;
}

/* --- MULTIPLE CHOICE / RANK OPTIONS - reset to clean --- */
.Rank__option,
.Rank__option--selected,
[class*="Rank__option"],
.LiveField--choices .btn-raised,
.LiveField--choices .btn-primary,
.LiveField--choices span.btn-raised,
.LiveField--multiline .btn-raised {
  background: transparent !important;
  background-color: transparent !important;
  color: #111111 !important;
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
  border: 1px solid rgba(32,71,122,0.15) !important;
  border-radius: 4px !important;
  padding: 0.85rem 1.25rem !important;
  box-shadow: none !important;
}

.Rank__option--selected,
.LiveField--choices .btn-raised.Rank__option--selected,
[class*="Rank__option--selected"] {
  background: rgba(45,92,190,0.08) !important;
  background-color: rgba(45,92,190,0.08) !important;
  border-color: #2D5CBE !important;
  color: #2D5CBE !important;
}

/* --- GUIDED MODE --- */
.GuidedModeInstructions__button {
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  background: #2D5CBE !important;
  border: none !important;
  color: #FFFFFF !important;
}

.GuidedModeInstructions__button:hover {
  background: #20477A !important;
  color: #FFFFFF !important;
}

/* Force arrow SVGs white inside blue buttons */
.btn-raised svg, .btn-raised svg path,
.btn-primary svg, .btn-primary svg path {
  fill: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

/* --- GROTTO CUSTOM CLASSES --- */
.grotto-card-label,
p.grotto-card-label,
.ProseMirror p.grotto-card-label,
.editor p.grotto-card-label,
[class*="grotto-card"] p.grotto-card-label {
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  margin: 0 0 0.75rem !important;
  color: #2D5CBE !important;
}

.grotto-card-text,
p.grotto-card-text,
.ProseMirror p.grotto-card-text,
.editor p.grotto-card-text {
  font-family: 'Kalice', Georgia, serif !important;
  font-weight: normal !important;
  font-size: 0.9rem !important;
  line-height: 1.85 !important;
  color: #111111 !important;
  margin: 0 !important;
}

/* --- MISC --- */
.LiveField__required { color: #2D5CBE !important; }

.LiveField__error {
  color: #F27761 !important;
  font-family: 'Kalice', Georgia, serif !important;
}

hr {
  border: none !important;
  border-top: 1px solid rgba(32,71,122,0.12) !important;
}

/* --- SCALE / SLIDER QUESTION --- */
/* Selected dot / filled circle */
.Scale__dot--selected,
.Scale__dot.is-selected,
[class*="Scale__dot"][aria-checked="true"],
[class*="Scale__dot"][aria-selected="true"],
[class*="scale-dot--selected"],
[class*="ScaleDot--selected"] {
  background-color: #2D5CBE !important;
  border-color: #2D5CBE !important;
  box-shadow: 0 0 0 3px rgba(45,92,190,0.18) !important;
}

/* Active track fill */
.Scale__track--filled,
.Scale__fill,
[class*="Scale__track--fill"],
[class*="scale-track--fill"] {
  background-color: #2D5CBE !important;
}

/* Selected label text */
.Scale__label--selected,
[class*="Scale__label--selected"],
[class*="scale-label--selected"] {
  color: #2D5CBE !important;
}

/* Native range input thumb + track */
input[type="range"]::-webkit-slider-thumb {
  background-color: #2D5CBE !important;
  border-color: #2D5CBE !important;
}
input[type="range"]::-moz-range-thumb {
  background-color: #2D5CBE !important;
  border-color: #2D5CBE !important;
}
input[type="range"]::-webkit-slider-runnable-track {
  accent-color: #2D5CBE !important;
}
input[type="range"] {
  accent-color: #2D5CBE !important;
}
