/* Freckled Florist Tools - functional styles (visual design lives in the theme) */
.fff-bar{background:var(--wp--preset--color--ink,#2f2a28);color:var(--wp--preset--color--linen,#f7f2ec);text-align:center;font-size:.9rem;padding:.55rem 1rem}
.fff-bar p{margin:0}.fff-bar a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.fff-zip label{display:block;font-weight:600;margin-bottom:.35rem}
.fff-zip__row{display:flex;gap:.5rem;max-width:22rem}
.fff-zip__row input{flex:1;min-width:0;padding:.6rem .75rem;border:1px solid #b9ada4;border-radius:6px;font:inherit}
.fff-zip__row button{padding:.6rem 1rem;border:0;border-radius:6px;background:var(--wp--preset--color--cinnamon,#9a5634);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.fff-zip__result{margin:.4rem 0 0;font-size:.92rem;min-height:1.2em}
.fff-zip__result.is-ok{color:#2f6b3a}.fff-zip__result.is-warn{color:#8a4b12}
.fff-zip--compact label{font-size:.95rem}
.fff-product-zip{margin:1.25rem 0;padding:1rem;border:1px dashed #d8cdc4;border-radius:10px}
.fff-call-us--icon{display:inline-flex;align-items:center;gap:.4rem}
.fff-btn,.fff-call-us--icon.fff-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1.2rem;border-radius:999px;background:var(--wp--preset--color--cinnamon,#9a5634);color:#fff !important;text-decoration:none;font-weight:600;border:0;cursor:pointer}
.fff-pending-order{margin:1rem 0;padding:1rem 1.1rem;background:var(--wp--preset--color--blush-soft,#f6e6e0);border-radius:12px}
.fff-price-pending{font-style:italic;color:#6d625b;font-size:.95em}
.fff-checkout{clear:both;margin-top:2rem;padding-top:1rem;border-top:1px solid #e5dcd4}
.fff-checkout .description{display:block;font-size:.85rem;color:#6d625b;margin-top:.25rem}
.fff-date-error{display:block;color:#a23c1f;font-size:.9rem}
.fff-sentiments{display:flex;flex-wrap:wrap;gap:.4rem;margin:.25rem 0 1rem;align-items:center}
.fff-sentiments__label{font-size:.9rem;color:#6d625b;margin-right:.25rem}
.fff-sentiment{border:1px solid #d8cdc4;background:#fff;border-radius:999px;padding:.3rem .7rem;font:inherit;font-size:.85rem;cursor:pointer;color:inherit}
.fff-sentiment:hover,.fff-sentiment:focus-visible{border-color:#9a5634}
.fff-sympathy{border:1px solid #d9e0da;background:#f6f8f6;border-radius:12px;padding:1rem 1.1rem;margin:1rem 0}
.fff-sympathy legend{font-weight:700;padding:0 .4rem}
.fff-sympathy__intro{font-size:.9rem;color:#56615a;margin-top:0}
.fff-notice{padding:.75rem 1rem;border-radius:10px;background:#fff6e8;border:1px solid #efd9b5}
.fff-notice p{margin:.2rem 0}.fff-notice--ok{background:#eef6ef;border-color:#c7dfca}.fff-notice--err{background:#fbecea;border-color:#efc3bc}
.fff-pickup-note{font-size:.95rem;color:#56615a}
.fff-addons{border:0;padding:0;margin:0 0 1rem}.fff-addons legend{font-weight:700;margin-bottom:.4rem}
.fff-addon{margin:.4rem 0}.fff-addon select,.fff-addon-sub input{width:100%;max-width:22rem;padding:.5rem;border:1px solid #b9ada4;border-radius:6px;font:inherit}
.fff-addon-sub label{display:block;font-size:.9rem}
.fff-hp{position:absolute !important;left:-9999px;height:1px;overflow:hidden}
.fff-contact label{display:block;font-weight:600;margin-bottom:.25rem}
.fff-contact input,.fff-contact select,.fff-contact textarea{width:100%;box-sizing:border-box;padding:.65rem .75rem;border:1px solid #b9ada4;border-radius:8px;font:inherit;background:#fff}
.fff-small{font-size:.85rem;color:#6d625b}
.fff-hours,.fff-cities,.fff-venues{list-style:none;padding:0;margin:0}
.fff-hours li,.fff-cities li{padding:.2rem 0}
.fff-venues li{display:flex;flex-direction:column;padding:.6rem 0;border-bottom:1px solid #eee4dc}
.fff-pending{color:#6d625b;font-style:italic}
.fff-consent{position:fixed;left:1rem;right:1rem;bottom:1rem;max-width:30rem;margin:auto;background:#fff;border:1px solid #d8cdc4;border-radius:12px;padding:1rem;box-shadow:0 8px 30px rgba(0,0,0,.12);z-index:999;font-size:.92rem}
.fff-consent button{padding:.45rem 1rem;border-radius:999px;border:0;background:#9a5634;color:#fff;cursor:pointer;font:inherit}
.fff-consent .fff-consent__no{background:#eee4dc;color:#2f2a28}
.fff-order-details table th{font-weight:600}
.fff-checkout textarea,.fff-checkout select,.fff-checkout input.input-text{width:100%;box-sizing:border-box}
@media (max-width:640px){.fff-checkout .form-row-first,.fff-checkout .form-row-last{width:100% !important;float:none !important}}
