/* NX Voucher: karta produktu (1.6.2). Mały zakres selektorów i kolory dziedziczone po motywie. */
.nxv-voucher-purchase {
    --nxv-ui-border: #dfdfdf;
    --nxv-ui-muted: #686d73;
    --nxv-ui-surface: #fafaf9;
    --nxv-ui-accent: var(--wp--preset--color--primary, currentColor);
    max-width: 640px;
    min-width: 0;
}
.nxv-voucher-purchase *,
.nxv-voucher-purchase *::before,
.nxv-voucher-purchase *::after { box-sizing: border-box; }
.nxv-voucher-purchase__head { display:flex; flex-wrap:wrap; align-items: baseline; justify-content:space-between; gap:4px 16px; margin: 12px 0 10px; }
.nxv-voucher-purchase__head strong { font-size: 0.95em; }
.nxv-voucher-purchase__head span { font-size: 0.78em; color:var(--nxv-ui-muted); }
.nxv-voucher-choices { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 12px; }
.nxv-voucher-choice { position:relative; display:inline-flex; cursor:pointer; margin:0; }
.nxv-voucher-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.nxv-voucher-choice span { display:block; min-height:39px; padding:9px 13px; border:1px solid var(--nxv-ui-border); border-radius:7px; color:inherit; background:transparent; font:inherit; font-size:0.91em; line-height:1.35; transition:background-color .15s,border-color .15s; }
.nxv-voucher-choice input:checked + span { border-color:currentColor; background:var(--nxv-ui-surface); font-weight:650; box-shadow:inset 0 0 0 1px currentColor; }
.nxv-voucher-choice input:focus-visible + span { outline:2px solid currentColor; outline-offset:3px; }
.nxv-custom-amount { margin:0 0 15px; }
.nxv-custom-amount[hidden] { display:none!important; }
.nxv-custom-amount label { display:block; font-size:.86em; font-weight:600; margin:0 0 5px; }
.nxv-custom-amount input[type="number"] { width:160px; max-width:100%; min-height:40px; padding:7px 11px; font:inherit; font-size:1em; line-height:1.4; border:1px solid var(--nxv-ui-border); border-radius:7px; box-sizing:border-box; }
.nxv-custom-amount small { display:block; margin:5px 0 0; color:var(--nxv-ui-muted); font-size:.77em; }

/* Sekcja jest domyślnie zamknięta. Native <details> umożliwia obsługę bez JS. */
body.single-product form.cart .nxv-gift-fields,
form.cart .nxv-gift-fields {
    display:block; clear:both; float:none; width:100%; min-width:0; max-width:640px;
    margin:12px 0 16px; padding:0; border:1px solid var(--nxv-ui-border, #dfdfdf);
    border-radius:9px; color:inherit; background:var(--nxv-ui-surface, #fafaf9);
    box-shadow:none; font:inherit; overflow:visible;
}
form.cart .nxv-gift-fields[open] { background:transparent; }
form.cart .nxv-gift-fields__summary {
    display:flex; align-items:center; gap:11px; min-height:57px;
    margin:0; padding:10px 13px; list-style:none; cursor:pointer; user-select:none;
    line-height:1.35; border-radius:9px; color:inherit;
}
form.cart .nxv-gift-fields__summary::-webkit-details-marker { display:none; }
form.cart .nxv-gift-fields__summary::marker { content:""; }
form.cart .nxv-gift-fields__summary:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
form.cart .nxv-gift-fields__symbol { display:flex; flex:none; align-items:center; justify-content:center; width:33px; height:33px; border:1px solid var(--nxv-ui-border, #dfdfdf); border-radius:8px; background:#fff; color:#34383d; }
form.cart .nxv-gift-fields__symbol svg { width:19px; height:19px; }
form.cart .nxv-gift-fields__heading { display:flex; flex-direction:column; flex:1; min-width:0; gap:2px; }
form.cart .nxv-gift-fields__heading strong { font:inherit; font-size:0.91em; line-height:1.35; font-weight:650; }
form.cart .nxv-gift-fields__heading small { font:inherit; font-size:0.75em; font-weight:400; color:var(--nxv-ui-muted, #686d73); line-height:1.4; }
form.cart .nxv-gift-fields__chevron { flex:none; width:17px; height:17px; transition:transform .15s ease; }
form.cart .nxv-gift-fields[open] .nxv-gift-fields__chevron { transform:rotate(180deg); }
form.cart .nxv-gift-fields__body { padding:0 13px 14px; }
form.cart .nxv-gift-fields__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 12px; }
form.cart .nxv-gift-fields__field { display:flex; flex-direction:column; gap:5px; min-width:0; margin:0; float:none; width:auto; }
form.cart .nxv-gift-fields__field--wide { grid-column:1 / -1; }
form.cart .nxv-gift-fields__field label { display:block; width:auto; float:none; margin:0; padding:0; color:inherit; font:inherit; font-size:0.8em; line-height:1.35; font-weight:600; }
form.cart .nxv-gift-fields__field input,
form.cart .nxv-gift-fields__field textarea {
    display:block; width:100%; max-width:100%; min-width:0; min-height:39px; height:auto; float:none;
    margin:0; padding:8px 10px; border:1px solid var(--nxv-ui-border, #dfdfdf);
    border-radius:6px; background:#fff; background-image:none; color:#25282b; font:inherit;
    font-size:0.89em; font-weight:400; line-height:1.4; box-shadow:none; letter-spacing:normal;
    appearance:auto; -webkit-appearance:auto;
}
form.cart .nxv-gift-fields__field textarea { min-height:64px; max-height:200px; resize:vertical; }
form.cart .nxv-gift-fields__field input:focus,
form.cart .nxv-gift-fields__field textarea:focus { border-color:currentColor; outline:1px solid currentColor; outline-offset:0; box-shadow:none; }
form.cart .nxv-gift-fields__field input::placeholder,
form.cart .nxv-gift-fields__field textarea::placeholder { color:#858a90; opacity:1; }
form.cart .nxv-gift-fields__field small { display:block; margin:0; font:inherit; font-size:0.75em; font-weight:400; line-height:1.45; color:var(--nxv-ui-muted,#686d73); }
@media (max-width:480px) {
    form.cart .nxv-gift-fields__grid { grid-template-columns:minmax(0,1fr); gap:10px; }
    form.cart .nxv-gift-fields__field--wide { grid-column:auto; }
    form.cart .nxv-gift-fields__heading small { display:none; }
    form.cart .nxv-gift-fields__summary { padding:10px; gap:9px; }
    form.cart .nxv-gift-fields__body { padding:0 10px 12px; }
    .nxv-voucher-purchase__head span { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
    .nxv-voucher-choice span, form.cart .nxv-gift-fields__chevron { transition:none; }
}
