.psgc-gifting-panel {
    margin: 20px 0;
    padding: 22px;
    border: 1px solid #e3ded4;
    border-radius: 12px;
    background: #fbfaf7;
}
.psgc-gifting-panel h3 { margin: 0 0 6px; font-size: 1.2rem; }
.psgc-gifting-panel .psgc-intro { margin: 0 0 16px; color: #5b6870; }
.psgc-gift-choice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 9px;
    align-items: start;
}
.psgc-gift-choice > .psgc-is-gift { margin-top: 4px; }
.psgc-toggle-row,
.psgc-terms-row { display: flex; gap: 9px; align-items: flex-start; cursor: pointer; }
.psgc-terms-row input { margin-top: 4px; flex: 0 0 auto; }
.psgc-recipient-fields { grid-column: 1 / -1; margin-top: 18px; }
/* Visibility works without JavaScript; JS only adds required-state/ARIA support. */
.psgc-gift-choice > .psgc-is-gift:not(:checked) ~ .psgc-recipient-fields { display: none; }
.psgc-recipient-fields::after { content: ""; display: table; clear: both; }
.psgc-recipient-fields input,
.psgc-recipient-fields textarea { width: 100%; }
.psgc-recipient-fields small { float: right; color: #68757c; }
.psgc-validity-note {
    display: grid;
    gap: 2px;
    margin: 18px 0;
    padding: 12px 14px;
    border-left: 4px solid #b08d57;
    background: #fff;
}
.psgc-validity-note span { color: #5d6a72; font-size: .92em; }
.psgc-terms-row { font-size: .92em; }
.psgc-terms-row a { text-decoration: underline; }
.psgc-terms-document ol { padding-left: 24px; }
.psgc-terms-document li { margin-bottom: 10px; }
@media (max-width: 549px) {
    .psgc-gifting-panel { padding: 17px; }
    .psgc-recipient-fields .form-row-first,
    .psgc-recipient-fields .form-row-last { float: none; width: 100%; }
}
