.pb-product-options .plantb-gift-choice,
.plantb-gift-variation .plantb-gift-choice {
    grid-column:1/-1; min-width:0; width:100%; border:0; padding:0; margin:0;
}
.plantb-gift-choice legend { padding:0; margin-bottom:10px; font-size:15px; color:#51473e; }
.plantb-gift-choices { display:flex; flex-wrap:wrap; gap:10px; }
.plantb-gift-choice .plantb-gift-pill { position:relative; display:inline-flex; margin:0; cursor:pointer; }
.plantb-gift-pill input { position:absolute; opacity:0; width:1px; height:1px; }
.plantb-gift-pill span { display:flex; gap:10px; align-items:center; justify-content:center; min-height:46px; padding:10px 14px; box-sizing:border-box; border:1px solid #b9a793; border-radius:10px; background:#fbf5eb; color:#51473e; font:inherit; font-size:15px; line-height:1.5; letter-spacing:normal; }
.plantb-gift-pill span::before { content:""; flex:0 0 18px; width:18px; height:18px; box-sizing:border-box; border:1.5px solid #a99c8d; border-radius:50%; background:#fffdf9; }
.plantb-gift-pill:hover span { border-color:#884c28; }
.plantb-gift-pill input:checked + span { color:#51473e; background:#fbf5eb; border-color:#884c28; }
.plantb-gift-pill input:checked + span::before { border-color:#884c28; background:#884c28; box-shadow:inset 0 0 0 4px #fffdf9; }
.plantb-gift-pill input:focus-visible + span { outline:2px dashed #684e3d; outline-offset:3px; }
.plantb-gift-pill input:disabled + span { opacity:.45; cursor:not-allowed; }
.plantb-gift-required { margin-left:4px; font-size:15px; font-weight:400; color:#a53528; }
.pb-product .plantb-gift-hint, .pb-product .plantb-gift-error { margin:10px 0 0; font-size:13px; line-height:1.7; letter-spacing:normal; color:#746252; }
.pb-product .plantb-gift-error { color:#a53528; }
.plantb-gift-choice [hidden] { display:none!important; }
.pb-product .plantb-gift-variation select[hidden] { display:none!important; }
.plantb-gift-checkout { min-width:0; color:#51473e; }
.plantb-gift-checkout .plantb-gift-item { padding:22px 0; border-top:1px solid #e2d8cb; }
.plantb-gift-checkout h3 { font-size:19px; line-height:1.6; margin:0 0 12px; overflow-wrap:anywhere; }
.plantb-gift-checkout p { line-height:1.7; }
.plantb-gift-checkout fieldset { min-width:0; padding:0; border:0; margin:18px 0 0; }
.plantb-gift-checkout fieldset legend { font-size:15px; color:#884c28; padding:0; margin:0 0 10px; }
.plantb-gift-checkout label { color:#51473e; line-height:1.6; }
.plantb-gift-checkout input[type=radio] { accent-color:#884c28; width:18px; height:18px; vertical-align:middle; margin:0 7px 0 0; }
body .plantb-gift-checkout input[type=text], body .plantb-gift-checkout textarea { width:100%; box-sizing:border-box; background:#fffdf9; color:#51473e; border:1px solid #cbbca9; border-radius:10px; min-height:46px; padding:12px 14px; font:inherit; font-size:16px; line-height:1.6; box-shadow:none; }
body .plantb-gift-checkout textarea { min-height:135px; resize:vertical; }
body .plantb-gift-checkout input[type=text]:focus, body .plantb-gift-checkout textarea:focus { border-color:#884c28; outline:2px solid rgba(136,76,40,.18); outline-offset:1px; }
.plantb-gift-checkout [hidden] { display:none!important; }
@media(max-width:600px) {
    .plantb-gift-choices { gap:8px; }
    .plantb-gift-pill span { padding:10px 15px; }
    .plantb-gift-checkout .plantb-gift-item { padding:18px 0; }
}
.plantb-gift-checkout .plantb-gift-modes { display:flex; flex-wrap:wrap; gap:10px 20px; margin:12px 0 18px; }
.plantb-gift-checkout .plantb-gift-modes label { display:flex; align-items:center; min-height:44px; cursor:pointer; font-size:15px; }
.plantb-gift-checkout .plantb-gift-card { padding:14px 0 4px; }
.plantb-gift-checkout .plantb-gift-card + .plantb-gift-card { border-top:1px dashed #d8cbbd; margin-top:16px; }
.plantb-gift-checkout .plantb-gift-card-number { font-size:14px; color:#884c28; margin:0 0 12px; }
.plantb-gift-checkout .plantb-gift-item > legend { font-size:17px; font-weight:600; line-height:1.7; color:#684e3d; }

/* Card text uses the full receipt row, including on narrow phones. */
.plantb-commerce-checkout .plantb-item-row--gift { flex-wrap:wrap; }
.plantb-commerce-checkout .plantb-item-gift-details { flex:0 0 100%; grid-column:1/-1; min-width:0; border-top:1px solid #e2d8cb; padding-top:16px; }
.plantb-order-gift { overflow-wrap:anywhere; line-height:1.7; letter-spacing:normal; }
.plantb-order-gift + .plantb-order-gift { margin-top:20px; padding-top:16px; border-top:1px dashed #e2d8cb; }
.plantb-order-gift p { margin:10px 0; }

/* Legacy variation remains a submitted Woo field while its service is disabled. */
.variations tr:has(.plantb-gift-disabled-variation) { display: none; }

/* Use the same single panel as the neighboring checkout sections. */
.plantb-commerce-checkout .plantb-gift-checkout { background:#fffdf9; border:1.5px solid #eae3d8; border-radius:20px; padding:30px; margin-bottom:24px; box-shadow:0 4px 20px rgba(136,76,40,.04); box-sizing:border-box; }
.plantb-gift-checkout .plantb-gift-item { padding:12px 0 0; }
.plantb-gift-checkout .plantb-gift-card { padding:4px 0 0; }
.plantb-gift-checkout .plantb-gift-save-status { min-height:1.7em; margin:8px 0 0; font-size:13px; letter-spacing:normal; color:#746252; }
@media(max-width:600px) { .plantb-commerce-checkout .plantb-gift-checkout { padding:20px 16px; } }
/* Give legacy variation choices the same full-width layout as simple products. */
.pb-product .variations tr:has(.plantb-gift-variation) { display:block; }
.pb-product .variations tr:has(.plantb-gift-variation) > th,
.pb-product .variations tr:has(.plantb-gift-variation) > td { display:block; width:100%; padding:0; text-align:left; }
.pb-product .variations tr:has(.plantb-gift-variation) > th { margin-bottom:10px; }
.plantb-gift-required { white-space:nowrap; }
