/* "Добави букет" switch + bouquet cards (template-parts/bouquet-picker.php), shared by /sazdai-podarak/ and /izprati-podarak/. Moved from custom-gift.css. */
.custom-switch input{position:absolute;opacity:0}
.custom-switch input:focus-visible+span{outline:3px solid var(--color-text);outline-offset:3px}
.custom-bouquet-block{border-radius:var(--radius-md);background:var(--color-neutral-100);overflow:hidden}
.custom-bouquet{padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.custom-bouquet>div{display:grid;gap:2px}
.custom-bouquet small{color:var(--color-neutral-700)}
.custom-switch{position:relative;flex:0 0 52px;width:52px;height:44px;cursor:pointer}
.custom-switch:has(input:disabled){cursor:not-allowed;opacity:.55}
.custom-switch>span{position:absolute;left:0;top:7px;width:52px;height:30px;border-radius:999px;background:var(--color-neutral-400)}
.custom-switch>span::after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:left .2s}
.custom-switch input:checked+span{background:var(--color-accent-700)}
.custom-switch input:checked+span::after{left:25px}
.custom-bouquet-chooser{padding:2px 22px 22px}
.custom-bouquet-chooser[hidden]{display:none}
.custom-bouquet-chooser fieldset{padding:0;border:0}
.custom-bouquet-chooser legend{margin-bottom:10px;font-weight:650}
.custom-bouquet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.custom-bouquet-option{position:relative}
.custom-bouquet-option>input{position:absolute;opacity:0}
.custom-bouquet-option>span{height:100%;box-sizing:border-box;padding:10px;display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto auto;gap:2px 12px;border:1.5px solid var(--color-neutral-300);border-radius:var(--radius-md);background:#fff;cursor:pointer}
.custom-bouquet-option img{grid-row:1/-1;width:72px;height:72px;object-fit:cover;border-radius:10px}
.custom-bouquet-option b,.custom-bouquet-option .price,.custom-bouquet-option small{grid-column:2;min-width:0}
.custom-bouquet-option b{overflow-wrap:anywhere}
.custom-bouquet-option .price{color:var(--color-accent-700);font-weight:650}
.custom-bouquet-option small{color:var(--color-neutral-700)}
.custom-bouquet-option>input:checked+span{border-color:var(--color-accent-600);background:var(--color-accent-100)}
.custom-bouquet-option>input:focus-visible+span{outline:3px solid var(--color-text);outline-offset:3px}
.custom-bouquet-empty{padding:16px;display:grid;gap:4px;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);background:#fff}
.custom-bouquet-empty span{color:var(--color-neutral-700)}
@media(max-width:560px){.custom-bouquet{padding:14px 16px}
.custom-bouquet-chooser{padding:2px 16px 16px}
.custom-bouquet-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.custom-switch>span::after{transition:none}}
.bouquet-error{margin:0 0 12px;padding:10px 14px;display:flex;align-items:flex-start;gap:8px;border:1px solid var(--color-error-border);border-radius:10px;background:var(--color-error-bg);color:var(--color-error-strong);font-size:13.5px;font-weight:600;line-height:1.4}
.bouquet-error svg{flex:none;margin-top:1px}
.custom-bouquet-chooser fieldset[aria-invalid=true] .custom-bouquet-option>span{border-color:var(--color-error-border)}
.memory-message-field{padding:0 22px 18px}.memory-message-field textarea{display:block;width:100%;min-height:96px;box-sizing:border-box;resize:vertical;border-radius:var(--radius-md)}.memory-message-count{display:block;margin-top:6px;text-align:right;color:var(--color-neutral-700);font-size:12px}@media(max-width:560px){.memory-message-field{padding:0 16px 16px}}
