:root {
  --pg-primary:#D9924B;
  --pg-primary-dark:#8A4E25;
  --pg-bg:#F5EEE6;
  --pg-card:#FFF9F2;
  --pg-ink:#2A150B;
  --pg-ink-2:#6B5141;
  --pg-muted:#8E7565;
  --pg-shadow:0 12px 30px rgba(94,46,18,.16);
  --pg-radius:22px;
  --pg-track:#EFDCC9;
}

.petguard-form-wrapper{
  font-family:"Outfit",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--pg-ink);
}

.petguard-form-wrapper--embedded{
  width:100%;
}

.petguard-form-wrapper [hidden]{
  display:none !important;
}

.pg-form-shell{
  background:linear-gradient(135deg,#fffaf5 0%,#f2e5d8 100%);
  border-radius:28px;
  padding:18px;
  position:relative;
  box-shadow:0 22px 48px rgba(94,46,18,.18);
}

.pg-form-shell::before{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(217,146,75,.18),rgba(138,78,37,.10));
  filter:blur(0);
  z-index:0;
  opacity:.4;
  pointer-events:none;
}

.pg-form-card{
  position:relative;
  background:rgba(255,255,255,.96);
  border-radius:22px;
  box-shadow:0 18px 45px rgba(15,23,42,.12);
  padding:26px 22px;
  display:grid;
  gap:22px;
  z-index:1;
  overflow:hidden;
}

.pg-form-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,rgba(217,146,75,.14),rgba(138,78,37,.08));
  opacity:.4;
  pointer-events:none;
}

.pg-wizard{
  display:grid;
  gap:22px;
}

.pg-wizard--choice{
  justify-items:center;
  text-align:center;
}

.pg-wizard--choice .pg-wizard-helper{
  max-width:30ch;
  text-align:center;
}

.pg-wizard--choice .pg-wizard-field{
  width:min(100%, 520px);
  justify-self:center;
}

.pg-wizard-intro{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.75rem;
  font-weight:700;
  color:var(--pg-primary-dark);
  margin:0;
}


.pg-progress{
  display:flex;
  gap:8px;
  justify-content:center;
}

.pg-progress-dot{
  height:6px;
  width:28px;
  border-radius:999px;
  background:var(--pg-track);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.6);
  opacity:.45;
  transition:transform .2s ease,opacity .2s ease,background .2s ease;
}

.pg-progress-dot.is-active{
  background:linear-gradient(135deg,var(--pg-primary),var(--pg-primary-dark));
  opacity:1;
  transform:scale(1.05);
}

.pg-progress-dot.is-complete{
  background:linear-gradient(135deg,rgba(217,146,75,.85),rgba(138,78,37,.65));
  opacity:.9;
}

.pg-wizard-title{
  margin:0;
  font-size:1.45rem;
  line-height:1.2;
}

.pg-wizard-helper{
  margin:0;
  font-size:.95rem;
  color:var(--pg-ink-2);
  line-height:1.45;
}

.pg-wizard-field{
  display:grid;
  gap:12px;
}

.pg-field-type-choice-cards{
  gap:14px;
}

.pg-warning{
  margin:0;
  font-size:.85rem;
  line-height:1.45;
  color:var(--pg-primary-dark);
  font-weight:600;
  background:rgba(248,233,219,.94);
  border-radius:14px;
  padding:10px 14px;
  border:1px solid rgba(217,146,75,.35);
}

.pg-warning-inline{
  margin-top:12px;
}

.pg-consent-card{
  margin-top:14px;
  background:linear-gradient(135deg,rgba(248,241,233,.95),rgba(255,255,255,.96));
  border:1px solid rgba(217,146,75,.24);
  border-radius:18px;
  padding:14px 16px;
  display:grid;
  gap:10px;
  box-shadow:0 10px 24px rgba(94,46,18,.08);
}

.pg-consent-inline{
  display:grid;
  grid-template-columns:20px 1fr;
  align-items:start;
  gap:10px;
  font-size:.92rem;
  color:var(--pg-ink-2);
  line-height:1.4;
}

.pg-consent-inline input{
  margin-top:2px;
  justify-self:flex-start;
  flex-shrink:0;
  width:20px;
  height:20px;
  cursor:pointer;
}

.pg-consent-inline span{
  display:block;
  word-wrap:break-word;
  overflow-wrap:break-word;
}

.pg-phone-banner{
  margin:4px 0 10px;
  background:linear-gradient(135deg,rgba(251,240,229,.96),rgba(255,255,255,.98));
  border:1px solid rgba(217,146,75,.22);
  border-radius:14px;
  padding:12px 14px;
  box-shadow:0 8px 20px rgba(94,46,18,.08);
  text-align:left;
}

.pg-phone-banner strong{
  display:block;
  font-size:.82rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--pg-primary-dark);
}

.pg-phone-banner span{
  display:block;
  font-size:.9rem;
  color:var(--pg-ink-2);
  margin-top:6px;
}

.pg-consent-inline a{
  color:var(--pg-primary-dark);
}

.pg-consent-inline a:hover{
  text-decoration:underline;
}

.pg-wizard-field input,
.pg-wizard-field select{
  border-radius:16px;
  border:1px solid rgba(208,213,221,.7);
  padding:14px 16px;
  font-size:1rem;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
  width:100%;
  font-family:inherit;
  background:#fff;
  box-shadow:0 10px 25px rgba(15,23,42,.08);
  color:var(--pg-ink);
}

.pg-wizard-field select{
  -webkit-appearance:none;
  appearance:none;
  padding-right:48px;
  padding-left:22px;
  cursor:pointer;
  font-weight:600;
  background-image:linear-gradient(135deg,rgba(217,146,75,.10),rgba(138,78,37,.06)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A4E25' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat, no-repeat;
  background-position:left 12px center, right 18px center;
  background-size:110% 120%, 12px;
}

.pg-wizard-field select::-ms-expand{
  display:none;
}

.pg-wizard-field select option{
  color:var(--pg-ink);
}

.pg-input-select{
  border-width:2px;
  border-color:rgba(217,146,75,.25);
  background-image:linear-gradient(135deg,rgba(217,146,75,.10),rgba(138,78,37,.06)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A4E25' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat, no-repeat;
  background-position:left 12px center, right 18px center;
  background-size:110% 120%, 12px;
}

.pg-input-select.is-filled{
  border-color:var(--pg-primary);
  box-shadow:0 0 0 4px rgba(217,146,75,.12);
}

.pg-choice-group{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.pg-wizard--choice .pg-choice-group{
  width:100%;
}

.pg-choice-card{
  position:relative;
  display:grid;
  gap:12px;
  min-height:138px;
  padding:18px 18px 16px;
  border-radius:20px;
  border:1px solid rgba(217,146,75,.22);
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(251,243,235,.98));
  box-shadow:0 12px 28px rgba(94,46,18,.08);
  cursor:pointer;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease;
}

.pg-choice-card:hover{
  transform:translateY(-1px);
  border-color:rgba(217,146,75,.38);
  box-shadow:0 16px 32px rgba(94,46,18,.12);
}

.pg-choice-card.is-selected{
  border-color:rgba(217,146,75,.72);
  background:linear-gradient(145deg,rgba(252,241,228,.98),rgba(255,252,248,.98));
  box-shadow:0 0 0 4px rgba(217,146,75,.12), 0 18px 36px rgba(94,46,18,.14);
}

.pg-choice-card:focus-within{
  border-color:rgba(217,146,75,.82);
  box-shadow:0 0 0 4px rgba(217,146,75,.16), 0 18px 36px rgba(94,46,18,.14);
}

.pg-choice-card__input{
  position:absolute;
  inset:0;
  opacity:0;
  width:1px;
  height:1px;
  margin:0;
  padding:0;
  border:0;
  box-shadow:none;
  pointer-events:none;
}

.pg-choice-card__icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(145deg,rgba(248,233,219,.98),rgba(255,247,240,.98));
  color:var(--pg-primary-dark);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}

.pg-choice-card__icon svg{
  width:26px;
  height:26px;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.pg-choice-card__content{
  display:grid;
  gap:4px;
  color:var(--pg-ink);
}

.pg-wizard--choice .pg-choice-card{
  justify-items:center;
  text-align:center;
  min-height:152px;
  padding:20px 18px;
}

.pg-wizard--choice .pg-choice-card__content{
  justify-items:center;
  text-align:center;
}

.pg-choice-card__title{
  font-size:1rem;
  line-height:1.25;
  font-weight:700;
}

.pg-choice-card__description{
  font-size:.88rem;
  line-height:1.4;
  color:var(--pg-ink-2);
}

.pg-choice-group__error{
  margin:0;
  font-size:.82rem;
  color:var(--pg-primary-dark);
  font-weight:600;
}

.pg-choice-group.is-invalid .pg-choice-card{
  border-color:rgba(176,90,46,.42);
  box-shadow:0 0 0 3px rgba(176,90,46,.10);
}

.pg-wizard-field input:focus,
.pg-wizard-field select:focus{
  outline:none;
  border-color:var(--pg-primary-dark);
  box-shadow:0 0 0 4px rgba(217,146,75,.18);
  background:rgba(255,255,255,.98);
}

.pg-input-select.is-filled:focus{
  box-shadow:0 0 0 4px rgba(217,146,75,.2);
}

.pg-wizard-field input::placeholder{
  color:rgba(51,65,85,.6);
}

.pg-hint{
  font-size:.8rem;
  color:var(--pg-muted);
}

.pg-extra-help{
  margin:0;
  font-size:.82rem;
  line-height:1.45;
  color:var(--pg-ink-2);
  background:rgba(248,233,219,.72);
  border-left:3px solid var(--pg-primary-dark);
  padding:10px 14px;
  border-radius:12px;
}

.pg-autocomplete{
  position:relative;
}

.pg-suggestions{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 6px);
  background:#fff;
  border:1px solid rgba(217,146,75,.24);
  border-radius:14px;
  box-shadow:var(--pg-shadow);
  max-height:220px;
  overflow:auto;
  padding:4px 0;
  z-index:10;
}

.pg-suggestions[hidden]{
  display:none;
}

.pg-suggestions button{
  width:100%;
  background:none;
  border:0;
  text-align:left;
  padding:10px 14px;
  font-size:.95rem;
  color:var(--pg-ink-2);
  cursor:pointer;
}

.pg-suggestions button:hover{
  background:rgba(248,233,219,.52);
  color:var(--pg-primary-dark);
}

.pg-wizard-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.pg-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:999px;
  padding:14px 22px;
  font-weight:700;
  font-size:1rem;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
  font-family:inherit;
}

.pg-btn:disabled{
  opacity:.6;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

.pg-btn-primary{
  background:linear-gradient(135deg,var(--pg-primary),var(--pg-primary-dark));
  color:#fff;
  box-shadow:0 16px 32px rgba(94,46,18,.22);
}

.pg-btn-primary:hover{
  background:linear-gradient(135deg,#cf8241,var(--pg-primary-dark));
  transform:translateY(-1px);
}

.pg-btn-secondary{
  background:#fff;
  color:var(--pg-primary-dark);
  border:1px solid rgba(217,146,75,.25);
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}

.pg-btn-secondary:hover{
  background:rgba(248,233,219,.36);
}

.pg-btn-tertiary{
  background:linear-gradient(135deg,#fff9f4,#f9eee4);
  color:var(--pg-primary-dark);
  border:1px solid rgba(217,146,75,.35);
  box-shadow:0 10px 24px rgba(94,46,18,.12);
}

.pg-btn-tertiary:hover{
  background:linear-gradient(135deg,#fff2e5,#f6e3d2);
  transform:translateY(-1px);
}

.pg-btn-loading{
  opacity:.7;
  pointer-events:none;
}

.pg-consent{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:10px;
  align-items:start;
  font-size:.9rem;
  color:var(--pg-ink-2);
  padding:12px 14px;
  background:rgba(248,233,219,.65);
  border-radius:16px;
  border:1px solid rgba(217,146,75,.24);
}

.pg-consent input{
  margin-top:2px;
  flex-shrink:0;
  width:20px;
  height:20px;
  cursor:pointer;
}

.pg-consent span{
  word-wrap:break-word;
  overflow-wrap:break-word;
}

.pg-privacy{
  margin:12px 0 0;
  font-size:.85rem;
  line-height:1.4;
  background:rgba(240,249,255,.85);
  border-radius:14px;
  padding:10px 14px;
  text-align:center;
  color:var(--pg-ink-2);
  align-self:center;
}

.pg-privacy.pg-privacy-actions{
  margin:8px 0 0;
  width:100%;
}

.pg-privacy-inline{
  margin-top:10px;
}

.pg-summary-list{
  display:grid;
  gap:14px;
}

.pg-summary{
  background:linear-gradient(140deg,#fcf7f1 0%,#fff 40%);
  border-radius:18px;
  border:1px solid rgba(217,146,75,.20);
  padding:18px;
  display:grid;
  gap:10px;
  box-shadow:0 12px 28px rgba(94,46,18,.10);
}

.pg-summary.is-active{
  border-color:rgba(217,146,75,.45);
  box-shadow:0 16px 36px rgba(94,46,18,.14);
}

.pg-summary-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.78rem;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:rgba(138,78,37,.72);
}

.pg-summary-index{
  font-weight:700;
}

.pg-summary-pill{
  background:rgba(217,146,75,.14);
  color:var(--pg-primary-dark);
  border-radius:999px;
  padding:4px 10px;
  font-size:.75rem;
  font-weight:600;
}

.pg-summary strong{
  font-size:1.1rem;
  color:var(--pg-primary-dark);
}

.pg-summary ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:6px;
  font-size:.92rem;
  color:var(--pg-ink-2);
}

.pg-summary li{
  display:flex;
  justify-content:space-between;
  gap:12px;
}

.pg-summary em{
  font-style:normal;
  color:var(--pg-ink-2);
}

.flatpickr-calendar{
  border:1px solid rgba(217,146,75,.24);
  border-radius:18px;
  box-shadow:0 20px 45px rgba(42,21,11,.18);
  overflow:hidden;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover{
  background:var(--pg-primary);
  border-color:var(--pg-primary);
}

.flatpickr-day.today{
  border-color:var(--pg-primary-dark);
}

.flatpickr-current-month,
.flatpickr-weekday{
  color:var(--pg-ink);
}

.flatpickr-months .flatpickr-month,
.flatpickr-weekdays{
  background:linear-gradient(135deg,#fff7ef 0%,#f2e1cf 100%);
}

@media (max-width:640px){
  .pg-form-card{
    padding:20px 16px;
  }
  .pg-section-title{
    font-size:1.35rem;
  }
  .pg-wizard-title{
    font-size:1.25rem;
  }
  .pg-consent-card{
    padding:12px 14px;
    gap:8px;
    margin-top:12px;
  }
  .pg-consent-inline{
    grid-template-columns:18px 1fr;
    gap:8px;
    font-size:.88rem;
    line-height:1.38;
  }
  .pg-consent-inline input{
    width:18px;
    height:18px;
    margin-top:1px;
  }
  .pg-consent{
    grid-template-columns:18px 1fr;
    gap:8px;
    padding:10px 12px;
    font-size:.88rem;
    line-height:1.38;
  }
  .pg-consent input{
    width:18px;
    height:18px;
    margin-top:1px;
  }

  .pg-choice-card{
    min-height:120px;
  }
}

@media (max-width:480px){
  .pg-choice-group{
    grid-template-columns:1fr;
  }
}
