/* Tulip Lamp cookie banner. Self-contained (does not depend on main.css tokens). Three equal-weight buttons. */
.tc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; padding: 0 12px calc(12px + env(safe-area-inset-bottom)); pointer-events: none; }
.tc[hidden] { display: none; }
.tc-box { pointer-events: auto; box-sizing: border-box; max-width: 620px; max-height: calc(100vh - 24px); overflow-y: auto; margin: 0 auto; background: #fbf6f0; color: #2a2230; border: 1px solid #e6dbcf; border-radius: 14px; box-shadow: 0 10px 40px rgba(0, 0, 0, .35); padding: 16px 16px 14px; font: 14px/1.5 "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif; }
.tc-box:focus { outline: none; }
.tc-title { margin: 0 0 4px; font-weight: 700; font-size: 15px; }
.tc-text { margin: 0 0 12px; color: #4a404f; }
.tc-text a { color: #2a2230; text-decoration: underline; }
.tc-prefs { margin: 0 0 12px; border-top: 1px solid #e6dbcf; }
.tc-prefs[hidden] { display: none; }
.tc-row { display: flex; gap: 10px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid #e6dbcf; cursor: pointer; }
.tc-row input { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; accent-color: #2a2230; }
.tc-row input:disabled { opacity: .6; }
.tc-btns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.tc-btn { appearance: none; min-height: 44px; padding: 8px 10px; border: 1.5px solid #2a2230; border-radius: 10px; background: #fff; color: #2a2230; font: 600 14px/1.2 inherit; font-family: inherit; cursor: pointer; }
.tc-btn:hover { background: #f3ebe2; }
.tc-btn:focus-visible { outline: 3px solid #e36e8c; outline-offset: 2px; }
.tc-btn[hidden] { display: none; }
@media (max-width: 380px) { .tc-btns { grid-template-columns: 1fr; } }
/* Reminder checkbox at checkout (inc/recovery.php) */
.tulip-remind-field label.checkbox { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 1.45; font-weight: 400; }
.tulip-remind-field input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; }
.tulip-remind-field .optional { display: none; }
.tulip-remind-field .tulip-remind-note { display: block; font-size: 12px; opacity: .75; margin-top: 2px; }
