.gift-cert-form {
    max-width: 530px;
    margin: 20px auto;
    padding: 0;
    border: none;
    border-radius: 8px;
}
.gift-cert-form h3 {
    font-size: 18px;
    line-height: 20px;
    margin-bottom: 10px;
}
.gift-cert-form label {
    display: block;
    margin-bottom: 10px;
}
.gift-cert-form input,
.gift-cert-form textarea {
    width: 100%;
    padding: 8px 12px;
    margin-top: 0px;
    margin-bottom: 16px;
    border: 1px solid #ccc;
    border-radius: 0px;
    box-sizing: border-box;
        font-family: "ProximaNova";
}
.gift-cert-form fieldset {
    border: none;
    margin: 0 0 12px 0;
    padding: 0;
}
.gift-cert-form [type="checkbox"] {
    width: auto;
}
.gift-cert-form .wrap_flex {
        display: flex;
    flex-direction: row-reverse;
    gap: 12px;
    align-items: center;
}
.gift-cert-type {
    margin-bottom: 16px;
}
.gift-cert-submit {
    background: #7D8034;
    color: #fff;
    padding: 12px 24px;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.2s;
        min-width: 230px;
        text-transform: uppercase;
}
.gift-cert-submit:hover {
    background: #7d8034e0;
}
.gift-cert-errors {
    color: #d32f2f;
    background: #fff3f3;
    border: 1px solid #f8bbbb;
    border-radius: 4px;
    padding: 8px;
    margin-bottom: 12px;
    font-size: 15px;
}

/* Amount block (grey card) */
.gift-cert-amount { background: #f6f6f6; padding: 24px; border-radius: 8px; margin: 16px 0 32px; }
.gift-cert-amount label { display: flex; align-items: center; gap: 24px; margin: 0; }
.gift-cert-amount input { max-width: 240px; margin: 0; }

/* Floating labels (label inside the input) */
.f-label { position: relative; display: block; }
.f-label .field-label { position: absolute; top: 8px; left: 12px; font-size: 12px; line-height: 1; color: #666; pointer-events: none; }
.f-label input, .f-label textarea, .f-label select { padding-top: 28px; }

/* Rows layout helpers */
.row.two { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.row.three { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; }
.row.one { display: block; }

/* Inputs reset margins so spacing is controlled by grid gaps */
.gift-cert-form input, .gift-cert-form textarea { margin-bottom: 0; }
.gift-cert-form label { margin-bottom: 16px; }
.gift-cert-type label { margin-bottom: 0; }

/* Hints */
.hint { display: block; margin-top: 6px; font-size: 12px; color: #888; }


/* --- Radios: restore native look and style within our form --- */
.gift-cert-form .gift-cert-type { display: flex; align-items: center; gap: 28px; margin-bottom: 12px; }
.gift-cert-form .gift-cert-type label { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; user-select: none; font-weight: 400; }
.gift-cert-form .gift-cert-type input[type="radio"] {
  -webkit-appearance: auto !important;
  -moz-appearance: auto !important;
  appearance: auto !important;
  outline: none; /* undo template reset */
  width: 18px; height: 18px; margin: 0; padding: 0;
  accent-color: #7a8b4b; /* brand color */
}
/* Older Safari fallback if appearance is still none somewhere */
.gift-cert-form .gift-cert-type input[type="radio"]::-webkit-radio-decoration { display: block; }

@media (max-width: 640px) {
  .gift-cert-amount label { flex-direction: column; align-items: stretch; gap: 10px; }
  .gift-cert-amount input { max-width: 100%; }
  .row.two, .row.three { grid-template-columns: 1fr; }
  .gift-cert-form .wrap_flex {flex-direction: column;}
}
.gift-cert-agreement label.checkbox {
        margin: 0;
}
#send-to-me-block label {
    margin-bottom: 0;
}
#send-to-me-block {
    margin-bottom: 10px;
}
.gift-cert-form textarea {
    resize: none;
    font-family: "ProximaNova";
}
.gift-cert-form  label a {
    text-decoration: underline;
}
.gift-cert-form .rub {
    font-size: 11px!important;
}